Detail publikace
Efficient Manipulation of Control Flow Models in Evolving Software
Pavela Jiří, Ing. (UITS)
Rogalewicz Adam, doc. Mgr., Ph.D. (UITS)
Vojnar Tomáš, prof. Ing., Ph.D. (UITS)
Performance analysis, Cross-version performance degradation, Control flow, Perun,
Při analýze specifických typů softwarových chyb se často porovnávají po sobě
jdoucí verze softwaru. Typickým příkladem jsou chyby související s výkonností.
Detekce těchto chyb je však nákladná a vyžaduje pečlivé nasazení příslušných
metod. Současný vývoj softwaru je navíc velmi dynamický, přičemž nové verze jsou
vydávány prakticky každý den. Tento článek se zaměřuje na dvě konkrétní oblasti
optimalizace rozdílové analýzy výkonnosti (a potenciálně i dalších
charakteristik) mezi jednotlivými verzemi softwaru. Konkrétně navrhujeme: (1)
efektivní vrstvenou reprezentaci řídicího toku programu, která pokrývá více verzí
v rámci vývojové historie, a (2) metody pro efektivní párování odpovídajících
funkcí mezi verzemi a výběr těch, u nichž je vhodné provést diferenční analýzu.
Navržený přístup jsme implementovali a experimentálně ověřili na dvou vybraných
verzích projektu CPython. Výsledky ukazují, že náš přístup představuje
perspektivní směr pro zefektivnění analýzy výkonnosti reálných softwarových
systémů.
@inproceedings{BUT193280,
author="Tomáš {Fiedor} and Jiří {Pavela} and Adam {Rogalewicz} and Tomáš {Vojnar}",
title="Efficient Manipulation of Control Flow Models in Evolving Software",
booktitle="Eurocast 2024 -- Computer Aided Systems Theory: Extended Abstracts",
year="2025",
series="Lecture Notes in Computer Science",
volume="15172",
pages="412--427",
publisher="Springer International Publishing",
address="Las Palmas de Gran Canaria",
doi="10.1007/978-3-031-82949-9\{_}37",
isbn="978-3-031-82949-9",
url="https://link.springer.com/chapter/10.1007/978-3-031-82949-9_37"
}