This page outlines my ongoing research projects. My current research focus, and the topic of my dissertation, relates to supporting mobile software developers in building, testing, and maintaining applications. Additionally, I conduct research with other members of the SEMERU group in the general areas of software testing and maintenance, and applying deep learning techniques to Software Engineering Tasks.
Fusion - Improving Bug Reporting for Mobile Applications
Bug reporting systems have not changed significantly in recent years. Despite striking advancements in program analysis techniques, reporters typically enter textual information to describe a bug. However, this type of report has been shown to be woefully inadequate for developers looking to reproduce and fix reported bugs. The goal of the Fusion project is to leverage static and dynamic program analyses to improve the bug reporting process and produce higher quality reports with more detailed information, while requiring less effort from reporters.
CrashScope- Effective Automated Testing for Android Applications
Automated testing techniques for Android exhibit notable shortcomings including: (i) A lack of expressive fault reports, (ii) lack of testing for contextual features (e.g. GPS, network), (iii) multiple input generation strategies. CrashScope aims to overcome these shortcomings by using static analysis to identify GUI-specific locations where contextual features exist and multiple input generation strategies to effectively test these locations and uncover crashes. When the tool crashes a target application, it generates an expressive report with the steps for reproduction and a repayable test script. Thus, CrashScope is an effective and practical automated testing tool for Android.