Detail publikace
Automatically Checking Semantic Equivalence between Versions of Large-Scale C Projects
Práce se zaměřuje na softvérové projekty, které potřebují zabezpečit stabilitu některých jejich částí napříč různými verzemi. Pro takovéto projekty navrhujeme vysoce škálovatelný přístup pro automatickou kontrolu sémantické ekvivalence verzí programů napsaných v jazyce C s osobitým zaměřením na jádro operačního systému Linux. Navržená metoda používá kombinaci vyhledávání vzorů, efektivních statických analýz a transformací toku řízení. I když metoda nedokáže formálně dokázat ekvivalenci výrazně reimplementovaných programů, je schopna porovnat tisíce funkcí v řádu minut přičemž produkuje jen malé množství chybných výsledků, jak prokazují naše experimenty. Metoda byla implementována v rámci nástroje DiffKemp a narozdíl od jiných metod dokáže analyzovat i projekty o velikosti Linuxového kernelu.
@INPROCEEDINGS{FITPUB12516, author = "Viktor Mal\'{i}k and Tom\'{a}\v{s} Vojnar", title = "Automatically Checking Semantic Equivalence between Versions of Large-Scale C Projects", pages = "329--339", booktitle = "2021 14th IEEE Conference on Software Testing, Verification and Validation (ICST)", year = 2021, location = "Porto de Galinhas, BR", publisher = "Institute of Electrical and Electronics Engineers", ISBN = "978-1-7281-6837-1", doi = "10.1109/ICST49551.2021.00045", language = "english", url = "https://www.fit.vut.cz/research/publication/12516" }