Key research themes
1. How can change propagation mechanisms improve consistency management in software evolution at the architectural and model level?
This research area investigates automated or semi-automated methods to propagate changes consistently across different software artifacts, particularly focusing on architectural models, agent-oriented models, and software product line processes. It aims to maintain consistency and reduce manual intervention during software evolution, addressing issues like change identification, impact analysis, and the resolution of inconsistencies within evolving software design artifacts.
2. What are the empirical patterns and predictive models of software architecture and code evolution that inform maintainability and future evolution planning?
This theme examines empirical studies analyzing how software architectures and codebases evolve over time, leveraging metrics, mining evolutionary data, and employing pattern extraction to predict future evolution paths. It addresses fundamental questions about growth rates, maintainability impacts from architectural design decisions, sequential evolution styles, and tool-supported evolution planning for better maintenance and informed decision-making in evolving software systems.
3. How do co-change and evolutionary coupling metrics provide insights into software modularity and evolution, augmenting traditional structural analyses?
Traditional modularity assessments focus on static structural dependencies among software components. This theme investigates dynamic evolution-based metrics such as co-change (classes or files modified together) and introduces new quantitative measures, visualizations, and tooling to evaluate modularity from an evolutionary perspective. This includes weighted propagation and clustering costs based on co-change matrices, highlighting hidden dependencies and aiding architectural repair and modularity assessment in evolving codebases.