Maximizing Patch Coverage for Testing of Highly-Configurable Software without Exploding Build Times

Furkejuvvon:
Bibliográfalaš dieđut
Publikašuvnnas:arXiv.org (Apr 27, 2024), p. n/a
Váldodahkki: Yıldıran, Necip Fazıl
Eará dahkkit: Oh, Jeho, Lawall, Julia, Gazzillo, Paul
Almmustuhtton:
Cornell University Library, arXiv.org
Fáttát:
Liŋkkat:Citation/Abstract
Full text outside of ProQuest
Fáddágilkorat: Lasit fáddágilkoriid
Eai fáddágilkorat, Lasit vuosttaš fáddágilkora!

MARC

LEADER 00000nab a2200000uu 4500
001 3049784684
003 UK-CbPIL
022 |a 2331-8422 
024 7 |a 10.1145/3643746  |2 doi 
035 |a 3049784684 
045 0 |b d20240427 
100 1 |a Yıldıran, Necip Fazıl 
245 1 |a Maximizing Patch Coverage for Testing of Highly-Configurable Software without Exploding Build Times 
260 |b Cornell University Library, arXiv.org  |c Apr 27, 2024 
513 |a Working Paper 
520 3 |a The Linux kernel is highly-configurable, with a build system that takes a configuration file as input and automatically tailors the source code accordingly. Configurability, however, complicates testing, because different configuration options lead to the inclusion of different code fragments. With thousands of patches received per month, Linux kernel maintainers employ extensive automated continuous integration testing. To attempt patch coverage, i.e., taking all changed lines into account, current approaches either use configuration files that maximize total statement coverage or use multiple randomly-generated configuration files, both of which incur high build times without guaranteeing patch coverage. To achieve patch coverage without exploding build times, we propose krepair, which automatically repairs configuration files that are fast-building but have poor patch coverage to achieve high patch coverage with little effect on build times. krepair works by discovering a small set of changes to a configuration file that will ensure patch coverage, preserving most of the original configuration file's settings. Our evaluation shows that, when applied to configuration files with poor patch coverage on a statistically-significant sample of recent Linux kernel patches, krepair achieves nearly complete patch coverage, 98.5% on average, while changing less than 1.53% of the original default configuration file in 99% of patches, which keeps build times 10.5x faster than maximal configuration files. 
653 |a Source code 
653 |a Configurable programs 
653 |a Linux 
653 |a Configurations 
700 1 |a Oh, Jeho 
700 1 |a Lawall, Julia 
700 1 |a Gazzillo, Paul 
773 0 |t arXiv.org  |g (Apr 27, 2024), p. n/a 
786 0 |d ProQuest  |t Engineering Database 
856 4 1 |3 Citation/Abstract  |u https://www.proquest.com/docview/3049784684/abstract/embedded/75I98GEZK8WCJMPQ?source=fedsrch 
856 4 0 |3 Full text outside of ProQuest  |u http://arxiv.org/abs/2404.17966