4.4 Article

Vdiff: a program differencing algorithm for Verilog hardware description language

Journal

AUTOMATED SOFTWARE ENGINEERING
Volume 19, Issue 4, Pages 459-490

Publisher

SPRINGER
DOI: 10.1007/s10515-012-0107-6

Keywords

Software evolution; Program differencing; Hardware description languages

Funding

  1. National Science Foundation [CCF-1043810, CCF-1117902, CCF-1149391]
  2. Microsoft SEIF Award
  3. Division of Computing and Communication Foundations
  4. Direct For Computer & Info Scie & Enginr [1117902, 1043810] Funding Source: National Science Foundation
  5. Division of Computing and Communication Foundations
  6. Direct For Computer & Info Scie & Enginr [1533791] Funding Source: National Science Foundation

Ask authors/readers for more resources

During code review tasks, comparing two versions of a hardware design description using existing program differencing tools such as diff is inherently limited because these 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. The quantitative evaluation of Vdiff on two open source hardware design projects 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. Vdiff is also fast and scalable-it processes the entire revision history of nine open projects all under 5.35 minutes. We conducted a user study with eight hardware design experts to understand how the program differences identified by the experts match Vdiff's output. The study results show that Vdiff's output is better aligned with the experts' classification of Verilog changes than an existing textual program differencing tool.

Authors

I am an author on this paper
Click your name to claim this paper and add it to your profile.

Reviews

Primary Rating

4.4
Not enough ratings

Secondary Ratings

Novelty
-
Significance
-
Scientific rigor
-
Rate this paper

Recommended

No Data Available
No Data Available