Publication Details

Automatically Checking Semantic Equivalence between Versions of Large-Scale C Projects

MALÍK, V.; VOJNAR, T. Automatically Checking Semantic Equivalence between Versions of Large-Scale C Projects. In 2021 14th IEEE Conference on Software Testing, Verification and Validation (ICST). Porto de Galinhas: Institute of Electrical and Electronics Engineers, 2021. p. 329-339. ISBN: 978-1-7281-6837-1.
Czech title
Automatická kontrola sémantické ekvivalence mezi verzemi velkých projektů v jazyce C
Type
conference paper
Language
English
Authors
URL
Keywords

semantic equivalence, refactoring, static analysis, semantics-preserving
patterns, refactoring patterns

Abstract

Motivated by a need of some software projects to ensure semantic stability of
some of their core parts, the paper proposes a highly-scalable approach for
automatically checking semantic equivalence of different versions of large
C projects, with a particular focus on the Linux kernel. The proposed method uses
a novel combination of pattern matching with light-weight static analysis and
control-flow transformations. Although the method cannot prove equivalence on
heavily refactored code, it can compare thousands of functions in minutes while
producing a low number of false non-equality verdicts as our experiments show. We
implemented our approach in a tool called DiffKemp and we show that DiffKemp,
unlike other existing tools, gives practically useful results even on projects of
the size of the Linux kernel.

Published
2021
Pages
329–339
Proceedings
2021 14th IEEE Conference on Software Testing, Verification and Validation (ICST)
Conference
2021 14th IEEE Conference on Software Testing, Verification and Validation (ICST), Porto de Galinhas, Brazil, BR
ISBN
978-1-7281-6837-1
Publisher
Institute of Electrical and Electronics Engineers
Place
Porto de Galinhas
DOI
UT WoS
000680831800033
EID Scopus
BibTeX
@inproceedings{BUT175787,
  author="Viktor {Malík} and Tomáš {Vojnar}",
  title="Automatically Checking Semantic Equivalence between Versions of Large-Scale C Projects",
  booktitle="2021 14th IEEE Conference on Software Testing, Verification and Validation (ICST)",
  year="2021",
  pages="329--339",
  publisher="Institute of Electrical and Electronics Engineers",
  address="Porto de Galinhas",
  doi="10.1109/ICST49551.2021.00045",
  isbn="978-1-7281-6837-1",
  url="https://ieeexplore.ieee.org/document/9438578"
}
Back to top