Back to Search
Start Over
Unveiling and reasoning about co-change dependencies
- Source :
- MODULARITY
- Publication Year :
- 2016
- Publisher :
- ACM, 2016.
-
Abstract
- Product flexibility is one of the expected benefits of a modular design, and thus "it should be possible to make drastic changes to a module without changing others." Accordingly, the data available on version control systems might help software architects to reason about some quality attributes of the modular decomposition of a system. In this paper we investigate the impact of co-change dependencies into system stability, that is, the potential ripple effect that might occur during maintenance tasks. Here we use (a) Design Structure Matrices (DSMs) for visualizing dependencies motivated by assets’ co-change and (b) two metrics for estimating system stability: Propagation Cost of Changes and Clustered Cost of a Decomposition. We conducted a comprehensive study about co-change dependencies and their effects on system stability, considering the change history of six open-source Java systems: Derby, Eclipse UI, Eclipse JDT, Hadoop, Geronimo, and Lucene; and one relevant financial systems of the Brazilian Government (SIOP). We evaluated two distinct situations: first considering only the static dependencies of each system and then considering both static and co-change dependencies of each system. There is a significant impact of the co-change dependencies on the stability measurements for Derby, Hadoop, Lucene, and SIOP. This result suggests that the modular decomposition of these systems does not resemble their change history. Accordingly, our findings provide empirical evidence that the common approach for reasoning about the modular decomposition, which often uses only static dependencies, hides important details about the costs of maintenance tasks.
- Subjects :
- Flexibility (engineering)
business.industry
Computer science
05 social sciences
Stability (learning theory)
020207 software engineering
02 engineering and technology
Modular design
computer.software_genre
Modularity
Dependency theory (database theory)
Modular decomposition
0502 economics and business
0202 electrical engineering, electronic engineering, information engineering
Decomposition (computer science)
Data mining
business
Software engineering
computer
050203 business & management
Eclipse
Subjects
Details
- Database :
- OpenAIRE
- Journal :
- Proceedings of the 15th International Conference on Modularity
- Accession number :
- edsair.doi...........8fdfe0a6c749ce92b57d3f44e5ce05c2
- Full Text :
- https://doi.org/10.1145/2889443.2889450