报告题目： 安卓应用的程序崩溃修复 Repairing crashes in Android apps
报告时间： 6月22日10:30 – 11:20
陈馨慧，女，南方科技大学计算机科学与工程系助理教授。2010和2012年获伊利诺伊大学厄巴纳-香槟分校（UIUC）学士和硕士学位，2018年毕业于新加坡国立大学（NUS），获计算机博士学位。研究方向包括自动程序修复，软件测试与软件分析等多个方向。在ICSE、FSE、ISSTA、ICST发表学术论文10余篇。曾荣获2015年Google Anita Borg Memorial Scholarship。
Android apps are omnipresent, and frequently suffer from crashes — leading to poor user experience and economic loss. Past work focused on automated test generation to detect crashes in Android apps. However, automated repair of crashes has not been studied. In this paper, we propose the first approach to automatically repair Android apps, specifically we propose a technique for fixing crashes in Android apps. Unlike most test-based repair approaches, we do not need a test-suite; instead a single failing test is meticulously analyzed for crash locations and reasons behind these crashes. Our approach hinges on a careful empirical study which seeks to establish common root-causes for crashes in Android apps, and then distills the remedy of these root-causes in the form of eight generic transformation operators. These operators are applied using a search-based repair framework embodied in our repair tool Droix. We also prepare a benchmark DroixBench capturing reproducible crashes in Android apps. Our evaluation of Droix on DroixBench reveals that the automatically produced patches are often syntactically identical to the human patch, and on some rare occasion even better than the human patch (in terms of avoiding regressions). These results confirm our intuition that our proposed transformations form a sufficient set of operators to patch crashes in Android.