Software erosion is a well-known phenomena, meaning that software quality is continuously decreasing due to the ever-ongoing modifications in the source code. In this research work we investigated this phenomena by studying the impact of version control commit operations (add, update, delete) on the quality of the code.We calculated the ISO/IEC 9126 quality attributes for thousands of revisions of an industrial and three open-source software systems with the help of the Columbus Quality Model. We also collected the cardinality of each version control operation type for every investigated revision. We performed Chisquared tests on contingency tables with rows of quality change and columns of version control operation commit types. We compared the results with random data as well.We identified that the relationship between the version control operations and quality change is quite strong. Great maintainability improvements are mostly caused by commits containing Add operation. Commits containing file updates only tend to have a negative impact on the quality. Deletions have a weak connection with quality, and we could not formulate a general statement.
We investigate a phenomenon we call micro-productivity decrease, which is expected to be found in most development or maintenance projects and has a specific profile that depends on the project, the development model and the team. Micro-productivity decrease refers to the observation that the cumulative effort to implement a series of changes is larger than the effort that would be needed if we made the same modification in only one step. The reason for the difference is that the same sections of code are usually modified more than once in the series of (sometimes imperfect) atomic changes. Hence, we suggest that effort estimation methods based on atomic change estimations should incorporate these profiles when being applied to larger modification tasks. We verify the concept on industrial development projects with our metrics-based machine learning models extended with statistical data. We show the calculated micro-productivity profile for these projects could be used for effort estimation of larger tasks with more accuracy than a naive atomic change oriented estimation.
During software development processes many methodologies and technologies are used which can be examined and compared by many points of view. One of the important aspects is the development productivity which affects development time and costs significantly. It is the composition of many factors but actually not all relevant and affecting factors and their relationships are known. Measuring the development productivity can be very useful if we would like to see that:• How much of the total development time takes the real development?• How long is the real development time of specific software components and layers?• How much time does a bug fix or the implementation of a new feature take in specific components or layers during software evolution?Beside the development time it is also worth to examine the quality of the software using various software metrics. Therefore a special tool is needed which can perform real time productivity measurements during the development but at present there are only a few tools for this task with limited measurement capabilities. The goal of this paper is to introduce a methodology for measuring productivity (even for specific software units) with defining a list of relevant factors and events to be observe (e.g. file and user interface events). Besides, this paper presents a measurement tool for monitoring development productivity in the Eclipse IDE (Integrated Development Environment). We have successfully measured a former project using this Eclipse-based tool and evaluated the measurement results to examine the development time of specific application layers.
No abstract
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.