Write a Blog >>
ICST 2022
Mon 4 - Fri 8 April 2022
Wed 6 Apr 2022 19:30 - 19:45 at Margaret Hamilton - ICST Automated Testing 2 Chair(s): Jose Campos

Runtime Exceptions (REs) are an important class of bugs that occur frequently during code development. Traditional Automatic Program Repair (APR) tools are of limited use in this “in-development” use case, since they require a test-suite to be available as a patching oracle. Thus, developers typically tend to manually resolve their in-development REs, often by referring to technical forums, such as Stack Overflow (SO). To automate this manual process our paper presents a novel technique REX that provides real-time assistance to developers for repairing Java REs by recommending a relevant patch-suggesting SO post and synthesizing a repair patch from this post to fix the RE in the developer’s code. REX exploits a library of Runtime Exception Patterns (REPs) semi-automatically mined from SO posts, through a relatively inexpensive, one-time, incremental process. An REP is an abstracted sequence of statements that triggers a given RE. REPs are used to index SO posts, retrieve a post most relevant to the RE instance exhibited by a developers’ code and then mediate the process of extracting a concrete repair from the SO post, abstracting out post-specific details, and concretizing the repair to the developer’s buggy code. We evaluate REX on a published RE benchmark comprised of 78 Java instances. Our empirical evaluation shows that REX is able to generate a correct repair patch at the top position in 27% of the cases, within the top-3 in 40% of the cases and overall return a useful artifact in 81% of the cases. Further, the use of REPs proves instrumental to all aspects of REX’s performance, from ranking and searching of SO posts to synthesizing patches from a given post. In particular, 45% of correct patches generated by REX could not be produced by a baseline technique not using REPs, even when provided with REX’s SO-post ranking. REX is also fast, needing around 1 second, on average, to generate its output. Overall, these results indicate that REX can provide effective real-time assistance to developers in repairing REs.

Wed 6 Apr

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

19:30 - 20:45
ICST Automated Testing 2Research Papers / Journal-First Papers at Margaret Hamilton
Chair(s): Jose Campos University of Lisbon, Portugal
19:30
15m
Talk
Providing Real-time Assistance for Repairing Runtime Exceptions using Stack Overflow Posts
Research Papers
Sonal Mahajan Uber Technologies Inc., Mukul Prasad Fujitsu Research of America
19:45
15m
Talk
To Seed or Not to Seed? An Empirical Analysis of Usage of Seeds for Testing in Machine Learning Projects
Research Papers
Saikat Dutta University of Illinois at Urbana-Champaign, Anshul Arunachalam University of Illinois at Urbana-Champaign, Sasa Misailovic University of Illinois at Urbana-Champaign
20:00
15m
Talk
Integration testing for robotic systems
Journal-First Papers
Maria Brito Federal University of Lavras Lavras, Simone do Rocio Senger de Souza ICMC/USP, Paulo Sergio Lopes de Souza ICMC/USP
Link to publication DOI
20:15
15m
Talk
Patterns of Code-to-Test Co-evolution for Automated Test Suite Maintenance
Research Papers
Samiha Shimmi Northern Illinois University, Mona Rahimi Northern Illinois University
20:30
15m
Live Q&A
Discussion and Q&A
Research Papers