| |
|
|
| DATE : |
11 November 2022, Friday |
| TIME : |
11:00am - 12:00pm |
| VENUE : |
Seminar Room 3-3, Level 3 School of Economics/School of Computing & Information Systems 2 (SOE/SCIS 2) Singapore Management University 90 Stamford Road Singapore 178903 |
|

Please register by 7 November 2022
|
| |
Talk#1: Self-supervised Program Repair with Test Execution Diagnostics
Learning-based program repair has achieved good results in a recent series of papers. Yet, we observe that the related work fails to repair some bugs because of a lack of knowledge about 1) the application domain of the program being repaired, and 2) the fault type being repaired. In this paper, we solve both problems by changing the learning paradigm from supervised training to self-supervised training in an approach called SelfAPR. First, SelfAPR generates training samples on disk by perturbing a previous version of the program being repaired, enforcing the neural model to capture project-specific knowledge. This is different from the previous work based on mined past commits. Second, SelfAPR executes all training samples and extracts and encodes test execution diagnostics into the input representation, steering the neural model to fix the kind of fault. This is different from the existing studies that only consider static source code as input. We implement SelfAPR and evaluate it in a systematic manner. We generate 1,039,873 training samples obtained by perturbing 17 open-source projects. We evaluate SelfAPR on 818 bugs from Defects4J, SelfAPR correctly repairs 110 of them, outperforming all the supervised learning repair approaches.
|
| |
|
|
 |
|
SPEAKER
He Ye is a PhD student working with Prof. Martin Monperrus at KTH Royal Institute of Technology in Sweden. Her research focuses on automated program repair, trustworthy software construction, software testing, and deep learning techniques for source code usage. Previously, she obtained her BSc degree in software engineering from Sichuan University in China, and her MSc degree in computer science from the University of Tampere in Finland. |
| |
|
|
| Talk#2: Automatic Software Debloating
The term software bloat refers to code included in a software application that is actually not used and not necessary to run the application. Software bloat has emerged as a consequence of modern software development practices, such as the increased reuse of external libraries and the constant addition of new features to the codebase (aka feature creep). This phenomenon has unfortunate consequences for software security, performance, and maintenance. For example, the deployed software artifacts contain more instructions than necessary, making them more exploitable for an attacker and needlessly wasting resources when used in production. Software debloat techniques aim at mitigating software bloat by shrinking artifacts without changing their desired functionality. Manually identifying and removing the parts in the artifact that are not actually used is a time-consuming and expensive task. Therefore, there is a necessity to understand this phenomenon and implement tools to detect and remove software bloat automatically. This talk explores the opportunities to debloat software automatically. |
| |
|
|
 |
|
SPEAKER
César Soto Valero is a PhD student working with Prof. Benoit Baudry at KTH Royal Institute of Technology in Sweden. His research focuses on automatic software debloating and software diversification. He also do knowledge-seeking software engineering research, e.g., by extracting useful information from software repositories. In particular, César is interested in measuring the impact and pervasiveness of software bloat across large-scale software ecosystems.
|
| |
|
|
|
|
|
|