Dear all,
Another talk announcement for Dec. 4, scheduled in a way that avoids
conflicts with Adi Seredinschi's talk ;-)
*Date and Location*
4. December 2024, 10:00-11:00 (s.t.)
Engehalde 8, Seminarraum 109
*Speaker*
Dr. Khashayar Someoliayi
*Title*
Efficient Exploration and Analysis of Program Repair Search Spaces
*Abstract*
In the presented work, we aim at improving the efficiency of three main
components involved in the exploration and analysis of APR search
spaces: patch generation, automated patch assessment, and manual patch
assessment. For this purpose, we present the three following contributions.
To make patch generation efficient, we introduce Sorald, a
template-based APR approach for fixing SonarJava static warnings. Sorald
employs accurately designed templates to generate exactly one patch that
is highly likely to fix the bug. The lightweight patch generation
technique and the small search space that needs little analysis makes
Sorald an efficient APR approach.
For making automated patch assessment efficient, we propose LighteR, a
lightweight tool for estimating the potential of fix templates used by
template-based APR approaches. LighteR compares fix templates against
developer-made bug-fixes to assess if the templates follow the
modification patterns used by experts. The result of this assessment is
used to rank the patches based on the potential of templates used for
their generation. This ranking is used to prioritize patches for manual
assessment and thus, finding the correct patch with minimal manual analysis.
Finally, we introduce Collector-Sahab, which aims at helping code
reviewers better understand behavioral changes caused by patches. Given
two versions of a program P & Q, Collector-Sahab collects the execution
trace of both P & Q. It next compares the traces and identifies runtime
differences at variable and return value level. Finally, it augments the
code diff between P & Q with a concise selection of extracted runtime
differences. This code augmentation helps code reviewers to better
understand the behavior of APR patches and thus, reduces human effort
needed for manual patch assessment.
To sum up, in this study we aim at making APR useful in practice by
improving its efficiency. For this purpose, we propose novel methods to
make patch generation, automated patch assessment, and manual patch
assessment efficient.
*Short Bio*
Khashayar Etemadi received his PhD in software engineering from KTH
Royal Institute of Technology, Sweden. His research interests are
automated program repair, software testing, and software evolution
Happy to see you there!
Best,
Timo