liu.seSearch for publications in DiVA
Change search
ReferencesLink to record
Permanent link

Direct link
Implementation and Evaluation of a Continuous Code Inspection Platform
Linköping University, Department of Computer and Information Science.
2016 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE creditsStudent thesisAlternative title
Implementation och utvärdering av en kontinuerlig kodgranskningsplattform (Swedish)
Abstract [en]

Establishing and preserving a high level of software quality is a not a trivial task, although the benefits of succeeding with this task has been proven profitable and advantageous. An approach to mitigate the decreasing quality of a project is to track metrics and certain properties of the project, in order to view the progression of the project’s properties. This approach may be carried out by introducing continuous code inspection with the application of static code analysis. However, as the initial common opinion is that these type of tools produce a too high number of false positives, there is a need to investigate what the actual case is. This is the origin for the investigation and case study performed in this paper. The case study is performed at Ida Infront AB in Linköping, Sweden and involves interviews with developers to determine the performance of the continuous inspection platform SonarQube, in addition to examine the general opinion among developers at the company. The author executes the implementation and configuration of a continuous inspection environment to analyze a partition of the company’s product and determine what rules that are appropriate to apply in the company’s context. The results from the investigation indicate the high quality and accuracy of the tool, in addition to the advantageous functionality of continuously monitoring the code to observe trends and the progression of metrics such as cyclomatic complexity and duplicated code, with the goal of preventing the constant increase of complex and duplicated code. Combining this with features such as false positive suppression, instant analysis feedback in pull requests and the possibility to break the build given specified conditions, suggests that the implemented environment is a way to mitigate software quality difficulties.

Abstract [zh]

建立和保持高水平的软件质量可以带来经济利益等诸多好处,然而这是一项很困难的任务。其中一种防止软件项目质量下降的方法是通过跟踪项目的度量值和某些属性,来查看项目的属性的变化情况。通过引入持续的代码审查和应用静态代码分析方法可以实现这种方法。然而,在人们的印象中,这类工具往往具有较高的误检,因此需要进一步调查实际情况、研究其可行性,这是本文的初始研究目标。本文在瑞典林雪平的Ida Infront AB公司开展了案例研究,调研了该公司开发人员的意见,并通过访问开发人员,确定持续的代码审查平台SonarQube的性能。作者对持续的代码审查环境进行了配置,分析了公司的部分产品,进而确定哪些规则适用于该公司。调查结果表明该工具是高质量并且准确的,还提供了持续监测代码来观察度量值的趋势和进展等先进功能,例如通过监测环路复杂度和重复代码等度量值,来防止复杂度和重复代码的增加。通过组合误检压缩、对pull requests的瞬间分析反馈、以及分解和建立给定的条件等特征,使得所实现的环境成为一种可以降低软件质量保障难度的方式。

Place, publisher, year, edition, pages
2016. , 100 p.
Keyword [en]
Static Code Analysis, Continuous Code Inspection, SonarQube, Software Quality
Keyword [zh]
静态代码分析,持续代码审查, SonarQube,软件质量
Keyword [sv]
Statisk kodanalys, kontinuerlig kodgranskning, SonarQube, mjukvarukvalitet
National Category
Computer and Information Science
URN: urn:nbn:se:liu:diva-130575ISRN: LIU-IDA/LITH-EX-A--16/047—SEOAI: diva2:953442
External cooperation
Ida Infront AB
Subject / course
Information Technology
2016-06-08, GG33, Linköping University SE-581 83 LINKÖPING Sweden, Linköping, 12:30 (English)
Available from: 2016-08-17 Created: 2016-08-16 Last updated: 2016-09-19Bibliographically approved

Open Access in DiVA

Implementation-and-Evaluation-of-a-Continuous-Code-Inspection-Platform(2658 kB)31 downloads
File information
File name FULLTEXT01.pdfFile size 2658 kBChecksum SHA-512
Type fulltextMimetype application/pdf

Search in DiVA

By author/editor
Melin, Tomas
By organisation
Department of Computer and Information Science
Computer and Information Science

Search outside of DiVA

GoogleGoogle Scholar
Total: 31 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

Total: 364 hits
ReferencesLink to record
Permanent link

Direct link