Vis enkel innførsel

dc.contributor.authorAl-Bataineh, Omar
dc.contributor.authorMoonen, Leon
dc.contributor.authorVidziunas, Linas
dc.date.accessioned2024-03-19T10:06:43Z
dc.date.available2024-03-19T10:06:43Z
dc.date.created2023-12-25T15:27:39Z
dc.date.issued2023
dc.identifier.citationJournal of Systems and Software. 2023, 209 .en_US
dc.identifier.issn0164-1212
dc.identifier.urihttps://hdl.handle.net/11250/3123058
dc.description.abstractModern automated program repair (APR) is well-tuned to finding and repairing bugs that introduce observable erroneous behavior to a program. However, a significant class of bugs does not lead to observable behavior (e.g., termination bugs and non-functional bugs). Such bugs can generally not be handled with current APR approaches, so complementary techniques are needed. To stimulate the systematic study of alternative approaches and hybrid combinations, we devise a novel bug classification system that enables methodical analysis of their bug detection power and bug repair capabilities. To demonstrate the benefits, we study the repair of termination bugs in sequential and concurrent programs. Our analysis shows that integrating dynamic APR with formal analysis techniques, such as termination provers and software model checkers, reduces complexity and improves the overall reliability of these repairs. We empirically investigate how well the hybrid approach can repair termination and performance bugs by experimenting with hybrids that integrate different APR approaches with termination provers and execution time monitors. Our findings indicate that hybrid repair holds promise for handling termination and performance bugs. However, the capability of the chosen tools and the completeness of the available correctness specification affects the quality of the patches that can be produced.en_US
dc.language.isoengen_US
dc.publisherElsevieren_US
dc.rightsNavngivelse 4.0 Internasjonal*
dc.rights.urihttp://creativecommons.org/licenses/by/4.0/deed.no*
dc.titleExtending the range of bugs that automated program repair can handleen_US
dc.title.alternativeExtending the range of bugs that automated program repair can handleen_US
dc.typeJournal articleen_US
dc.typePeer revieweden_US
dc.description.versionpublishedVersionen_US
dc.source.pagenumber18en_US
dc.source.volume209en_US
dc.source.journalJournal of Systems and Softwareen_US
dc.identifier.doi10.1016/j.jss.2023.111918
dc.identifier.cristin2217525
dc.source.articlenumber111918en_US
cristin.ispublishedtrue
cristin.fulltextoriginal
cristin.fulltextoriginal
cristin.qualitycode2


Tilhørende fil(er)

Thumbnail

Denne innførselen finnes i følgende samling(er)

Vis enkel innførsel

Navngivelse 4.0 Internasjonal
Med mindre annet er angitt, så er denne innførselen lisensiert som Navngivelse 4.0 Internasjonal