Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
Integrating noninterfering versions of programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Detecting equality of variables in programs
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Global value numbers and redundant computations
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An efficient method of computing static single assignment form
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Simple fast algorithms for the editing distance between trees and related problems
SIAM Journal on Computing
The String-to-String Correction Problem
Journal of the ACM (JACM)
The Tree-to-Tree Correction Problem
Journal of the ACM (JACM)
The string-to-string correction problem with block moves
ACM Transactions on Computer Systems (TOCS)
Dependence graphs and compiler optimizations
POPL '81 Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The Design and Analysis of Computer Algorithms
The Design and Analysis of Computer Algorithms
The program dependence graph in a software development environment
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
The use of program dependence graphs in software engineering
ICSE '92 Proceedings of the 14th international conference on Software engineering
An architecture for multi-user software development environments
SDE 5 Proceedings of the fifth ACM SIGSOFT symposium on Software development environments
A theory of parameterized pattern matching: algorithms and applications
STOC '93 Proceedings of the twenty-fifth annual ACM symposium on Theory of computing
Register allocation over the program dependence graph
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
Precise interprocedural chopping
SIGSOFT '95 Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering
Semantics Guided Regression Test Cost Reduction
IEEE Transactions on Software Engineering
Clones occurrence in Java and Modula-3 software systems
Advances in software engineering
A State-of-the-Art Survey on Software Merging
IEEE Transactions on Software Engineering
Computational Divided Differencing and Divided-Difference Arithmetics
Higher-Order and Symbolic Computation
An Interactive Programming Environment for Enhancing Learning Performance
DNIS '02 Proceedings of the Second International Workshop on Databases in Networked Information Systems
Program Slicing of Hardware Description Languages
CHARME '99 Proceedings of the 10th IFIP WG 10.5 Advanced Research Working Conference on Correct Hardware Design and Verification Methods
Automatic Validation of Code-Improving Transformations
LCTES '00 Proceedings of the ACM SIGPLAN Workshop on Languages, Compilers, and Tools for Embedded Systems
Transformation-Based Diagnosis of Student Programs for Programming Tutoring Systems
IEEE Transactions on Software Engineering
Clones occurence in large object oriented software packages
CASCON '98 Proceedings of the 1998 conference of the Centre for Advanced Studies on Collaborative research
On finding duplication and near-duplication in large software systems
WCRE '95 Proceedings of the Second Working Conference on Reverse Engineering
An Implementation of and Experiment with Semantic Differencing
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Validation of code-improving transformations for embeded systems
Proceedings of the 2003 ACM symposium on Applied computing
A Differencing Algorithm for Object-Oriented Programs
Proceedings of the 19th IEEE international conference on Automated software engineering
Automatic validation of code-improving transformations on low-level program representations
Science of Computer Programming - Special issue on program transformation
A brief survey of program slicing
ACM SIGSOFT Software Engineering Notes
Verification and change-impact analysis of access-control policies
Proceedings of the 27th international conference on Software engineering
Understanding source code evolution using abstract syntax tree matching
MSR '05 Proceedings of the 2005 international workshop on Mining software repositories
Automated bug isolation via program chipping
Proceedings of the sixth international symposium on Automated analysis-driven debugging
UMLDiff: an algorithm for object-oriented design differencing
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Regression testing of multi-tasking real-time systems: a problem statement
ACM SIGBED Review - Special issue: IEEE RTAS 2005 work-in-progress
Program element matching for multi-version program analyses
Proceedings of the 2006 international workshop on Mining software repositories
Defining a strategy to introduce a software product line using existing embedded systems
EMSOFT '06 Proceedings of the 6th ACM & IEEE International conference on Embedded software
On approximate matching of programs for protecting libre software
CASCON '06 Proceedings of the 2006 conference of the Center for Advanced Studies on Collaborative research
Automatic Inference of Structural Changes for Matching across Program Versions
ICSE '07 Proceedings of the 29th international conference on Software Engineering
OPUS: online patches and updates for security
SSYM'05 Proceedings of the 14th conference on USENIX Security Symposium - Volume 14
JDiff: A differencing technique and tool for object-oriented programs
Automated Software Engineering
Deducing similarities in Java sources from bytecodes
ATEC '98 Proceedings of the annual conference on USENIX Annual Technical Conference
Identifying Changed Source Code Lines from Version Repositories
MSR '07 Proceedings of the Fourth International Workshop on Mining Software Repositories
Automated bug isolation via program chipping
Software—Practice & Experience
Differencing logical UML models
Automated Software Engineering
Mining specifications of malicious behavior
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Change Distilling: Tree Differencing for Fine-Grained Source Code Change Extraction
IEEE Transactions on Software Engineering
Mining specifications of malicious behavior
ISEC '08 Proceedings of the 1st India software engineering conference
A change-aware development environment by recording editing operations of source code
Proceedings of the 2008 international working conference on Mining software repositories
Improving change descriptions with change contexts
Proceedings of the 2008 international working conference on Mining software repositories
Customization change impact analysis for erp professionals via program slicing
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
Towards a Normal Form for Mercury Programs
Logic-Based Program Synthesis and Transformation
An Algorithm for Sophisticated Code Matching in Logic Programs
ICLP '08 Proceedings of the 24th International Conference on Logic Programming
Using static analysis for Ajax intrusion detection
Proceedings of the 18th international conference on World wide web
Identifying semantic differences in AspectJ programs
Proceedings of the eighteenth international symposium on Software testing and analysis
Darwin: an approach for debugging evolving programs
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Automatic diagnosis of student programs in programming learning environments
IJCAI'99 Proceedings of the 16th international joint conference on Artificial intelligence - Volume 2
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
Refactoring-aware versioning in Eclipse
Electronic Notes in Theoretical Computer Science (ENTCS)
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
Actively comparing clones inside the code editor
Proceedings of the 4th International Workshop on Software Clones
Immediate multi-threaded dynamic software updates using stack reconstruction
USENIX'09 Proceedings of the 2009 conference on USENIX Annual technical conference
Model comparison with GenericDiff
Proceedings of the IEEE/ACM international conference on Automated software engineering
Semantic comparison of structured visual dataflow programs
Proceedings of the 3rd International Symposium on Visual Information Communication
Field-sensitive program dependence analysis
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
Effective false positive filtering for evolving software
Proceedings of the 4th India Software Engineering Conference
Systematic editing: generating program transformations from an example
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Studying software evolution using artefacts' shared information content
Science of Computer Programming
Selecting peers for execution comparison
Proceedings of the 2011 International Symposium on Software Testing and Analysis
Differencing labeled transition systems
ICFEM'11 Proceedings of the 13th international conference on Formal methods and software engineering
Firewall policy change-impact analysis
ACM Transactions on Internet Technology (TOIT)
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
Searching semantically equivalent code fragments in logic programs
LOPSTR'04 Proceedings of the 14th international conference on Logic Based Program Synthesis and Transformation
Client-side web application slicing
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
iDiff: Interaction-based program differencing tool
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
DARWIN: An approach to debugging evolving programs
ACM Transactions on Software Engineering and Methodology (TOSEM)
How much does unused code matter for maintenance?
Proceedings of the 34th International Conference on Software Engineering
Change-impact analysis of firewall policies
ESORICS'07 Proceedings of the 12th European conference on Research in Computer Security
Efficient and flexible GUI test execution via test merging
Proceedings of the 2013 International Symposium on Software Testing and Analysis
A framework for managing cloned product variants
Proceedings of the 2013 International Conference on Software Engineering
Hi-index | 0.00 |
Text-based file comparators (e.g., the Unix utility diff), are very general tools that can be applied to arbitrary files. However, using such tools to compare programs can be unsatisfactory because their only notion of change is based on program text rather than program behavior. This paper describes a technique for comparing two versions of a program, determining which program components represents changes, and classifying each changed component as representing either a semantic or a textual change.