代码质量控制平台的设计与应用
发布时间:2021-07-02 21:25
代码是软件产品的重要组成部分,代码的质量可以反映出软件的质量。软件公司每天的代码数量都在以指数的形式增加,随着代码数量的增加,加之团队逐渐扩大并不断出现人员变更等,代码的质量控制就愈发的重要。因此,需要一个自动化的代码质量控制平台,用来维护已有代码的质量,严格要求新进代码的质量,以保障整体的代码质量。论文对目前国内某大型互联网企业内部的代码质量控制需求进行了分析,完成了代码质量控制平台系统的分析与设计。该平台的目标是对公司内部代码整体的质量进行管理,实现代码问题检测及质量把控。该平台采用分层架构,实现了多种编程语言的代码覆盖率检测技术,利用Elastic Search、MySQL、SonarQube等成熟技术对本平台进行集成开发。本平台主要由以下四大功能模块组成:(1)覆盖率检测:开发面向多种语言的代码覆盖率工具,使用覆盖率工具和测试用例对已有的代码和新增的代码进行覆盖率检测,形成模块和用例的映射关系并存储到数据搜索引擎中。(2)影响面分析:检测增量代码中修改的模块,提取模块信息与数据搜索引擎中的数据进行比对整理,生成增量代码的影响面评估报告。(3)静态代码扫描:对全量及增量代码进行静...
【文章来源】:北京交通大学北京市 211工程院校 教育部直属院校
【文章页数】:78 页
【学位级别】:硕士
【部分图文】:
图2-1?Gcov工作过程??
覆盖率信息[H)]。Offline模式优点在于系统启动不需要额外开启代理,但是只能??在系统停机的情况下才能获取代码覆盖率。Jacoco同时支持on-the-fly和offline??的两种插桩模式[11],如图2-2是Jacoco的注入方式介绍,橙色部分是Jacoco不??同于其他覆盖率检测工具的地方,是Jacoco的特色部分。??Code?Coverage??z.’??'??z-Z?\??f?rRu^v,*B?丨??Frofilling?^?^??Z?乂?_Z.??JVHPI?JVITI?j?Source?说舶??、—一-」、一—’?——z?\?...??Offline??…:???一}?*I1I1III!II1I|^??z?/?\????4—.is?.................L............??Replace?Inject?Class?Loader?'J??图2-2?Jacoco注入方式??Figure?2-2?Jacoco?Injection?Mode??6??
?需求分析??一份综合的代码扫描报告。该部分功能的业务逻辑图如图3-3所示。??,?\?I??Z?〖z-1?\??mmm?\??1-??\??_?|?,?|??;,j!?|L'.写?|t^j|?明咖??|??.?4??—.??H1?气.钱;玫较麻系费?|?';???*?EiwAcSmcc^?<??*?’?――—?、-、??\??\?!??t?3??_齡_??图3-1代码影响面业务关系图??Figure?3-1?Business?Relations?of?Code?Evaluation?of?Influence?Surface??线上i總??gaa??■mmh?■)?■??*mmt???>???mh??*mnt?mmc??mm??'?m#?mam-?mn0?tmim?*m*?mum?OMHt?MW?MM*'?<M*i??-waM?<HM??mn???>"?#??mmk??<M?K??)Ki#?<^|??*?*??????|??I?静态代^揹芑联水由曲?1??_?■系_?S?I??I?MiippMI?????I??!?———??Ei*-.安全激w?|??i??^?i?i?1??,?—??*?熟挞抟?,??幽?i??麵?t??Wtm?m
【参考文献】:
期刊论文
[1]程序代码可控性研究[J]. 邵改革. 软件导刊. 2017(01)
[2]代码质量管理平台Sonar在软件项目管理中的应用研究[J]. 戚华,杨铭. 电子技术与软件工程. 2016(06)
[3]基于静态分析的快速代码质量评估模型[J]. 何沁洁,刘磊,常青,邱桂苹. 科学家. 2016(01)
[4]浅谈使用Sonar进行代码质量分析[J]. 刘壮飞. 中国新通信. 2015(20)
[5]基于CI的Web自动化测试平台设计[J]. 李真辉,陈闻宇,徐彦之. 科技导报. 2015(09)
[6]软件程序代码质量度量技术分析[J]. 禹翔. 电子测试. 2014(19)
[7]代码缺陷与代码味道的自动探测与优化研究[J]. 刘伟,刘宏韬,胡志刚. 计算机应用研究. 2014(01)
[8]代码复查的要点探讨[J]. 冯国正,毛亚坤,于秀芹. 技术与市场. 2013(06)
[9]软件程序代码质量度量技术研究[J]. 孙梦璘,宋晓秋,巢翌. 计算机工程与设计. 2006(02)
[10]一种最小测试用例集生成方法[J]. 聂长海,徐宝文. 计算机学报. 2003(12)
硕士论文
[1]面向代码坏味检测的阈值动态优化方法[D]. 刘秋荣.北京理工大学 2016
[2]软件代码标准研究及自动化代码检查系统的设计与实现[D]. 鲁家钰.北京邮电大学 2014
[3]代码质量控制与复杂度测量在大型软件项目中的研究及应用[D]. 冯欣.东北师范大学 2006
本文编号:3261257
【文章来源】:北京交通大学北京市 211工程院校 教育部直属院校
【文章页数】:78 页
【学位级别】:硕士
【部分图文】:
图2-1?Gcov工作过程??
覆盖率信息[H)]。Offline模式优点在于系统启动不需要额外开启代理,但是只能??在系统停机的情况下才能获取代码覆盖率。Jacoco同时支持on-the-fly和offline??的两种插桩模式[11],如图2-2是Jacoco的注入方式介绍,橙色部分是Jacoco不??同于其他覆盖率检测工具的地方,是Jacoco的特色部分。??Code?Coverage??z.’??'??z-Z?\??f?rRu^v,*B?丨??Frofilling?^?^??Z?乂?_Z.??JVHPI?JVITI?j?Source?说舶??、—一-」、一—’?——z?\?...??Offline??…:???一}?*I1I1III!II1I|^??z?/?\????4—.is?.................L............??Replace?Inject?Class?Loader?'J??图2-2?Jacoco注入方式??Figure?2-2?Jacoco?Injection?Mode??6??
?需求分析??一份综合的代码扫描报告。该部分功能的业务逻辑图如图3-3所示。??,?\?I??Z?〖z-1?\??mmm?\??1-??\??_?|?,?|??;,j!?|L'.写?|t^j|?明咖??|??.?4??—.??H1?气.钱;玫较麻系费?|?';???*?EiwAcSmcc^?<??*?’?――—?、-、??\??\?!??t?3??_齡_??图3-1代码影响面业务关系图??Figure?3-1?Business?Relations?of?Code?Evaluation?of?Influence?Surface??线上i總??gaa??■mmh?■)?■??*mmt???>???mh??*mnt?mmc??mm??'?m#?mam-?mn0?tmim?*m*?mum?OMHt?MW?MM*'?<M*i??-waM?<HM??mn???>"?#??mmk??<M?K??)Ki#?<^|??*?*??????|??I?静态代^揹芑联水由曲?1??_?■系_?S?I??I?MiippMI?????I??!?———??Ei*-.安全激w?|??i??^?i?i?1??,?—??*?熟挞抟?,??幽?i??麵?t??Wtm?m
【参考文献】:
期刊论文
[1]程序代码可控性研究[J]. 邵改革. 软件导刊. 2017(01)
[2]代码质量管理平台Sonar在软件项目管理中的应用研究[J]. 戚华,杨铭. 电子技术与软件工程. 2016(06)
[3]基于静态分析的快速代码质量评估模型[J]. 何沁洁,刘磊,常青,邱桂苹. 科学家. 2016(01)
[4]浅谈使用Sonar进行代码质量分析[J]. 刘壮飞. 中国新通信. 2015(20)
[5]基于CI的Web自动化测试平台设计[J]. 李真辉,陈闻宇,徐彦之. 科技导报. 2015(09)
[6]软件程序代码质量度量技术分析[J]. 禹翔. 电子测试. 2014(19)
[7]代码缺陷与代码味道的自动探测与优化研究[J]. 刘伟,刘宏韬,胡志刚. 计算机应用研究. 2014(01)
[8]代码复查的要点探讨[J]. 冯国正,毛亚坤,于秀芹. 技术与市场. 2013(06)
[9]软件程序代码质量度量技术研究[J]. 孙梦璘,宋晓秋,巢翌. 计算机工程与设计. 2006(02)
[10]一种最小测试用例集生成方法[J]. 聂长海,徐宝文. 计算机学报. 2003(12)
硕士论文
[1]面向代码坏味检测的阈值动态优化方法[D]. 刘秋荣.北京理工大学 2016
[2]软件代码标准研究及自动化代码检查系统的设计与实现[D]. 鲁家钰.北京邮电大学 2014
[3]代码质量控制与复杂度测量在大型软件项目中的研究及应用[D]. 冯欣.东北师范大学 2006
本文编号:3261257
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3261257.html