Support for Maintaining Object-Oriented Programs
IEEE Transactions on Software Engineering - Special issue on software maintenance
Software complexity and maintenance costs
Communications of the ACM
A Validation of Object-Oriented Design Metrics as Quality Indicators
IEEE Transactions on Software Engineering
Journal of Systems and Software - Special issue on Evaluation and assessment in software engineering
Concept Analysis for Module Restructuring
IEEE Transactions on Software Engineering
A software configuration management model for supporting component-based software development
ACM SIGSOFT Software Engineering Notes
The evolution of software evolvability
IWPSE '01 Proceedings of the 4th International Workshop on Principles of Software Evolution
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
ICSR-7 Proceedings of the 7th International Conference on Software Reuse: Methods, Techniques, and Tools
The Moderating Effects of Structure on Volatility and Complexity in Software Enhancement
Information Systems Research
Package-Based Software Development
EUROMICRO '03 Proceedings of the 29th Conference on EUROMICRO
How History Justifies System Architecture (or Not)
IWPSE '03 Proceedings of the 6th International Workshop on Principles of Software Evolution
Predicting Source Code Changes by Mining Change History
IEEE Transactions on Software Engineering
Mining Version Histories to Guide Software Changes
IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering
The Structural Complexity of Software: An Experimental Test
IEEE Transactions on Software Engineering
Object-Oriented Software Engineering: Using UML, Patterns and Java, Second Edition
Object-Oriented Software Engineering: Using UML, Patterns and Java, Second Edition
Understanding component co-evolution with a study on Linux
Empirical Software Engineering
Verifying design modularity, hierarchy, and interaction locality using data clustering techniques
ACM-SE 45 Proceedings of the 45th annual southeast regional conference
Predicting Faults from Cached History
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Toward evolving self-organizing software systems: a complex system point of view
IEA/AIE'11 Proceedings of the 24th international conference on Industrial engineering and other applications of applied intelligent systems conference on Modern approaches in applied intelligence - Volume Part II
Hi-index | 0.00 |
In software development, especially component-based software development, dependency locality states that relevant software components should be at shorter distances than irrelevant components. This principle is used together with modularity and hierarchy to guide the design of large-scale complex software systems. In previous work, dependency locality and its correlation with design quality were studied by statically measuring the interactions between software components. This paper presents an empirical approach to evaluating the hierarchical structure of software systems through mining their revision history. Two metrics, spatial distance and temporal distance, are adapted to measure the dependencies between software components. The correlation of spatial distance and temporal distance between software components represents a factor that influences system design quality. More specially, a well designed system hierarchy should have a significant positive correlation while a non-significant positive correlation or a negative correlation would signify design flaws. In an application of this approach, we use Mantel test to study the dependency locality of six software systems from Apache projects.