A Design Structure Matrix Approach for Measuring Co-Change-Modularity of Software Products
Several authors have quantified the modularity of software systems in terms of coupling and cohesion metrics. Most of these approaches focus on functional and procedural dependencies in the system. Although highly relevant at the design phase, these static dependencies alone do not account for how a software product evolves over time. Instead, this is also dictated by logical and hidden dependencies between system files. To a large extent, the co-change (co-commit) relation captures these different types of dependencies. In this paper, we define two measures of co-change-modularity of a software product based on a weighted design structure matrix (DSM). The first metric, called the weighted propagation cost, uses matrix exponential to measure how changes to one system file potentially affect the whole product. The second metric, called the weighted clustering cost, uses the output of the first metric to measure the partitionability of the system based on the co-change relation. In addition, we provide a visual representation of how the co-change structure of a system evolves over time. We discuss the theoretical foundation of our work and highlight its advantages over existing methodologies. We apply our approach to GNU Octave and show the findings to be consistent with the available literature on the evolution of Octave. Our analysis is extensible and applicable to a range of scenarios including open source systems.
Tue 29 MayDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
09:00 - 10:30 | 2008 Most Influential Paper Award and Evolution and ChangesTechnical Papers at E4 room Chair(s): Cor-Paul Bezemer Queen's University, Kingston, Ontario | ||
09:00 59mTalk | What do large commits tell us? A taxonomical study of large commits Technical Papers Pre-print | ||
09:59 17mFull-paper | SOTorrent: Reconstructing and Analyzing the Evolution Stack Overflow Posts Technical Papers A: Sebastian Baltes University of Trier, A: Lorik Dumani , A: Christoph Treude The University of Adelaide, A: Stephan Diehl Computer Science, University Trier, Germany DOI Pre-print Media Attached | ||
10:16 7mShort-paper | A Design Structure Matrix Approach for Measuring Co-Change-Modularity of Software Products Technical Papers Link to publication DOI Pre-print | ||
10:23 7mShort-paper | A Study on Inappropriately Partitioned Commits --- How Much and What Kinds of IP Commits in Java Projects? --- Technical Papers Pre-print |