Program evolution: processes of software change
Program evolution: processes of software change
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Formal Concept Analysis: Mathematical Foundations
Formal Concept Analysis: Mathematical Foundations
Clustering and concept analysis for software evolution
IWPSE '01 Proceedings of the 4th International Workshop on Principles of Software Evolution
Automatic Detection of Design Problems in Object-Oriented Reengineering
TOOLS '99 Proceedings of the Technology of Object-Oriented Languages and Systems
Detection of Logical Coupling Based on Product Release History
ICSM '98 Proceedings of the International Conference on Software Maintenance
Identifying Refactoring Opportunities Using Logic Meta Programming
CSMR '03 Proceedings of the Seventh European Conference on Software Maintenance and Reengineering
Java Quality Assurance by Detecting Code Smells
WCRE '02 Proceedings of the Ninth Working Conference on Reverse Engineering (WCRE'02)
Mining the Maintenance History of a Legacy Software System
ICSM '03 Proceedings of the International Conference on Software Maintenance
CVS Release History Data for Detecting Logical Couplings
IWPSE '03 Proceedings of the 6th International Workshop on Principles of Software Evolution
Application of Relation Analysis to a Small Java Software
CSMR '04 Proceedings of the Eighth Euromicro Working Conference on Software Maintenance and Reengineering (CSMR'04)
Mining Version Histories to Guide Software Changes
Proceedings of the 26th International Conference on Software Engineering
Predicting Change Propagation in Software Systems
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
Mining Version Histories to Guide Software Changes
IEEE Transactions on Software Engineering
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
Modeling history to analyze software evolution: Research Articles
Journal of Software Maintenance and Evolution: Research and Practice
Mining Aspects from Version History
ASE '06 Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering
Extracting Change-patterns from CVS Repositories
WCRE '06 Proceedings of the 13th Working Conference on Reverse Engineering
IEEE Transactions on Software Engineering
Change-Enabled Software Systems
Software-Intensive Systems and New Computing Paradigms
Combining concept lattice with call graph for impact analysis
Advances in Engineering Software
Proceedings of the 15th annual conference on Genetic and evolutionary computation
What can commit metadata tell us about design degradation?
Proceedings of the 2013 International Workshop on Principles of Software Evolution
Hi-index | 0.00 |
Software systems need to change over time to cope with new requirements, and due to design decisions, the changes happen to crosscut the system's structure. Understanding how changes appear in the system can reveal hidden dependencies between different entities of the system. We propose the usage of concept analysis to identify groups of entities that change in the same way and in the same time. We apply our approach at different levels of abstraction (i.e., method, class, package) and we detect fine grained changes (i.e., statements were added in a class, but no method was added there). Concept analysis is a technique that identifies entities that have the same properties, but it requires manual inspection due to the large number of candidates it detects. We propose a heuristic that dramatically eliminate the false positives. We apply our approach on two case studies and we show how we can identify hidden dependencies and detect bad smells.