6 research outputs found
Variance of source code quality change caused by version control operations
Software maintenance consumes huge efforts. Its cost strongly depends on the quality of the source code: an easy-to-maintain code needs much less effort than the maintenance of a more problematic one. Based on experiences, the maintainability of the source code tends to decrease during its lifetime. However, in most of the cases, this decrease is not a smooth linear one, but there are larger and smaller ups and downs, and the net root of these changes generally results in a negative tendency. Detecting common development patterns which similarly influence the maintainability could help to stop or even turn back source code erosion. In this research the scale of the ups and downs are investigated, namely that which version control operations cause bigger and which smaller changes in the maintainability. We calculated the maintainability and collected the cardinality of each version control operation for every revision of four inspected software systems. With the help of these data we checked which version control operation causes higher absolute code quality changes and which lower. We found clear connection between version control operations and the variance of the maintainability changes. File Additions and file Deletions caused significantly higher variance in maintainability changes compared to file Updates. Commits containing higher number of operations - regardless of the type of the operation - caused higher variance in maintainability changes than those commits containing lower number of operations. As a practical conclusion, it is recommended to pay special attention to the quality of commits containing new file additions, e.g. with the help of a mandatory code review
Case Study for the vudc R Package
In this study we present the usage of Cumulative Characteristic Diagram
and Quantile Difference Diagram – implemented in the vudc R package –
using the results of our research on the connection between version control
history data and the related maintainability.
With the help of these diagrams, we illustrate the results of five studies,
in which we executed contingency Chi-Squared test, Wilcoxon rank tests and
variance test. We were motivated by the question: how did these diagrams
support the numeric results?
We found that the diagrams spectacularly supported the results of the
statistic tests, furthermore, they revealed other important connections which
were left hidden by the tests