RT Journal Article
JF IEEE Software
YR 2008
VO 25
IS
SP 66
TI Structural Epochs in the Complexity of Software over Time
K1 Packaging
K1 Software packages
K1 Open source software
K1 Software measurement
K1 Application software
K1 Software testing
K1 Software maintenance
K1 Design methodology
K1 Software design
K1 Software systems
K1 structural epochs
K1 software evolution
K1 software complexity
K1 software structure
K1 Structure 101
AB A case study using a new complexity measurement framework called Structure 101 tracked the structural complexity of three open source software products through their different releases. The analysis found that, as these software products evolved, a large proportion of structural complexity in early releases at the application-code level progressively migrated to higher-level design and architectural elements in subsequent releases, or vice-versa. This pattern repeated itself throughout the evolution of the software product. Refactoring efforts successfully reduced complexity at lower levels, but shifted the complexity to higher levels in the design hierarchy. Conversely, design restructuring at higher levels shifted complexity to lower levels. If this trend holds true for other software products, then mere code refactoring might not be enough to effectively managing structural complexity. Periodic major restructuring of software applications at the design or architectural level could be necessary.
PB IEEE Computer Society, [URL:http://www.computer.org]
SN 0740-7459
LA English
DO 10.1109/MS.2008.96
LK http://doi.ieeecomputersociety.org/10.1109/MS.2008.96