Summary
An empirical study of the errors (build process bugs) generated during software construction.
5 Open Source projects: CXF, Camel, Felix,struts, and Tuscany.
Compare build process bugs and other bugs in 3 dimensions: Bug severity, bug? x time, the number of Les modi?ed to? x a bug.
The conclusion shows that
Ⅰ.the fraction of build process bugs which be above major severity level (severity) is lower than that of OT Her bugs.
A small number of errors in the software build process that are higher than the major level are less than the number of errors during the non-software build process
Ⅱ.the time effort required to? x a build process bug was around 2.03 times more than that of a non-build process B Ug.
Repairing errors in a software build process is 2.03 times times more expensive than a build-time error
Ⅲ. The number of source Les modi?ed to? x a build process bug was around 2.34 times more than that modi?e D for a non-build bug.
Fix the number of source files that need to be changed during a software build process 2.34 times times more than a build error
S1 Introduction
Software system generation process: Compiled into binary code, encapsulation, execute test sample, static analysis, generate document, deploy product.
3 Research questions:
- The severity distribution of build process bugs and non-build bugs
- Fixed time spent in build process bugs and non-build bugs
- Fixed how much of the source code needed to be modified for build process bugs and non-build bugs
S2 Methodology & BASIC STATISTICS
To collect build process bugs we follow a both step approach: bug Report Collection and build process bug Iden Ti?cation.
Bug Report Collection
5 open source projects, using JIRA bug tracking systems to collect error reports:
Build Process Bug identi?cation
Identify build Process Bug:
- Semi-automatic analysis of which report is we need;
- From these reports, manually analyze which errors are generated during the build process and which are not;
Since not every build phase of the file will appear in the build file, so filtered to the last, left with 3,205 Bug reports (642, 836, 811, 343, and 573 for CXF, Camel, Felix, Struts2, and Tuscany, respectively).
For all error reports, manually detect if it is an error in the build process, and finally, identi?ed 121 build processes bugs (+, +, A, one, and all for CXF, Camel, Felix, Struts2,
and Tuscany, respectively).
S3 Empirical STUDY RESULTS empirical study results
RQ1: The critical distribution of errors during construction
Jira specified 5 severity levels in the Bug report: Blocker, Critical, Major, Minor, and Trivial.
Found:
- Whether it is build errors or non-build errors, they cause serious system problems (levels blocker and critical) are relatively small number of errors;
- In errors that cause serious system problems (levels blocker and critical), the number of build errors is less than the number of non-build errors;
Rq2:bug Repair Time
Use two timestamp to record fix time
Found:
- To an X a bug, the time effort for a build process bug was around 2.03 times the time required to? x a Non-build bug. (Build Error Maintenance Time is 2.03 times times the maintenance time of a non-build error)
- The mean? x time of the bug reports whose severity levels is either Major, Critical, or blocker was much longer for build proc ESS bugs than for other bugs (severity rating in major, Critical, or blocker the average maintenance time for build errors is longer than corresponding non-build errors)
RQ3: The number of modified source files
Found:
- The number of source? Les Modi?ed for build process bugs are much more than, that of non-build bugs (fix build errors need to modify the amount of sources files far more than the non-build Error
- The number of source Les modi?ed for bug reports whose severity levels was either Major, Critical, or blocker is much mor E for Build
Process bugs than for other bugs, (severity level in major, Critical, or blocker the number of source files required for build error repair is much larger than non-build errors)
Effectiveness of empirical research results
Because some processes are manually detected, there are some mistakes
"Software analysis and mining" an empirical Study of Bugs in Build Process