Identifying syntactic differences between two programs
Software—Practice & Experience
Change detection in hierarchically structured information
SIGMOD '96 Proceedings of the 1996 ACM SIGMOD international conference on Management of data
A fast algorithm for computing longest common subsequences
Communications of the ACM
The Verilog Hardware Description Language, 5th Edition
The Verilog Hardware Description Language, 5th Edition
Introduction to Algorithms
Automated Software Engineering
IEEE Design & Test
The Evolution of SystemVerilog
IEEE Design & Test
Difference Tools for Analysis and Design Documents
ICSM '03 Proceedings of the International Conference on Software Maintenance
Dex: A Semantic-Graph Differencing Tool for Studying Changes in Large Code Bases
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
A Differencing Algorithm for Object-Oriented Programs
Proceedings of the 19th IEEE international conference on Automated software engineering
Understanding source code evolution using abstract syntax tree matching
MSR '05 Proceedings of the 2005 international workshop on Mining software repositories
UMLDiff: an algorithm for object-oriented design differencing
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Identifying Refactorings from Source-Code Changes
ASE '06 Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering
Determining detailed structural correspondence for generalization tasks
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Difference computation of large models
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
Proceedings of the 30th international conference on Software engineering
Constructing difference tools for models using the SiDiff framework
Companion of the 30th international conference on Software engineering
Understanding bug fix patterns in verilog
Proceedings of the 2008 international working conference on Mining software repositories
Gates accept concurrent behavior
SFCS '93 Proceedings of the 1993 IEEE 34th Annual Foundations of Computer Science
Differential symbolic execution
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
Tracking Your Changes: A Language-Independent Approach
IEEE Software
Process model difference analysis for supporting process evolution
EuroSPI'06 Proceedings of the 13th European conference on Software Process Improvement
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
Specifying and detecting meaningful changes in programs
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
History slicing: assisting code-evolution tasks
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Hi-index | 0.00 |
During code review tasks, comparing two versions of a hardware design description using existing program differencing tools such as diff is inherently limited because existing program differencing tools implicitly assume sequential execution semantics, while hardware description languages are designed to model concurrent computation. We designed a position-independent differencing algorithm to robustly handle language constructs whose relative orderings do not matter. This paper presents Vdiff, an instantiation of this position-independent differencing algorithm for Verilog HDL. To help programmers reason about the differences at a high-level, Vdiff outputs syntactic differences in terms of Verilog-specific change types. We evaluated Vdiff on two open source hardware design projects. The evaluation result shows that Vdiff is very accurate, with overall 96.8% precision and 97.3% recall when using manually classified differences as a basis of comparison.