Towards a taxonomy of approaches for mining of source code repositories
MSR '05 Proceedings of the 2005 international workshop on Mining software repositories
An XML based approach to support the evolution of model-to-model traceability links
TEFSE '05 Proceedings of the 3rd international workshop on Traceability in emerging forms of software engineering
JDiff: A differencing technique and tool for object-oriented programs
Automated Software Engineering
Finding what's not there: a new approach to revealing neglected conditions in software
Proceedings of the 2007 international symposium on Software testing and analysis
Change Distilling: Tree Differencing for Fine-Grained Source Code Change Extraction
IEEE Transactions on Software Engineering
Improving change prediction with fine-grained source code mining
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Journal of Software Maintenance and Evolution: Research and Practice
A change-aware development environment by recording editing operations of source code
Proceedings of the 2008 international working conference on Mining software repositories
Differential symbolic execution
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
Identifying static analysis techniques for finding non-fix hunks in fix revisions
Proceedings of the ACM first international workshop on Data-intensive software management and mining
BUGINNINGS: identifying the origins of a bug
Proceedings of the 3rd India software engineering conference
Hierarchical program representation for program element matching
IDEAL'07 Proceedings of the 8th international conference on Intelligent data engineering and automated learning
A program differencing algorithm for verilog HDL
Proceedings of the IEEE/ACM international conference on Automated software engineering
Towards revealing JavaScript program intents using abstract interpretation
Proceedings of the Sixth Asian Internet Engineering Conference
Automatically identifying changes that impact code-to-design traceability during evolution
Software Quality Control
Identifying program, test, and environmental changes that affect behaviour
Proceedings of the 33rd International Conference on Software Engineering
Operation-based, fine-grained version control model for tree-based representation
FASE'10 Proceedings of the 13th international conference on Fundamental Approaches to Software Engineering
Semantic network closure structures in dual translation of stochastic languages
DNIS'10 Proceedings of the 6th international conference on Databases in Networked Information Systems
iDiff: Interaction-based program differencing tool
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Maintaining the health of software monitors
Innovations in Systems and Software Engineering
Hi-index | 0.00 |
This paper describes an automated tool called Dex (Difference extractor) for analyzing syntactic and semantic changes in large C-language code bases. It is applied to patches obtained from a source code repository, each of which comprises the code changes made to accomplish a particular task. Dex produces summary statistics characterizing these changes for all of the patches that are analyzed. Dex applies a graph differencing algorithm to abstract semantic graphs (ASGs) representing each version. The differences are then analyzed to identify higher-level program changes. We describe the design of Dex, its potential applications, and the results of applying it to analyze bug fixes from the Apache and GCC projects. The results include detailed information about the nature and frequency of missing condition defects in these projects.