The story of moose: an agile reengineering environment
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Dynamic inference of abstract types
Proceedings of the 2006 international symposium on Software testing and analysis
Visualizing live software systems in 3D
SoftVis '06 Proceedings of the 2006 ACM symposium on Software visualization
Analyzing software evolution through feature views: Research Articles
Journal of Software Maintenance and Evolution: Research and Practice
Feature Identification: An Epidemiological Metaphor
IEEE Transactions on Software Engineering
Using trace sampling techniques to identify dynamic clusters of classes
CASCON '07 Proceedings of the 2007 conference of the center for advanced studies on Collaborative research
Feature location via information retrieval based filtering of a single scenario execution trace
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Using information retrieval to support design of incremental change of software
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
SIFT: a scalable iterative-unfolding technique for filtering execution traces
CASCON '08 Proceedings of the 2008 conference of the center for advanced studies on collaborative research: meeting of minds
MODELS'10 Proceedings of the 13th international conference on Model driven engineering languages and systems: Part II
JStereoCode: automatically identifying method and class stereotypes in Java code
Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering
Hi-index | 0.00 |
Many of the approaches that analyze software evolution consider a static perspective of a system. Static analysis approaches focus on the evolution of static software entities such as packages, classes and methods. Without knowledge of the roles software entities play in system features, it is difficult to interpret the motivation behind changes and extensions in the code. To tackle this problem, we propose an approach to software evolution analysis that exploits the relationships between features and software entities. Our definition of a feature is a unit of observable behavior of a software system. We define history measurements that summarize the evolution of software entities from a feature perspective. We show how we use our feature perspective of software evolution to interpret modifications and extensions to the code. We apply our approach on two case studies and discuss our findings.