Phd Proposal by Xiangyu Li

*********************************
There is now a CONTENT FREEZE for Mercury while we switch to a new platform. It began on Friday, March 10 at 6pm and will end on Wednesday, March 15 at noon. No new content can be created during this time, but all material in the system as of the beginning of the freeze will be migrated to the new platform, including users and groups. Functionally the new site is identical to the old one. webteam@gatech.edu
*********************************

Event Details
  • Date/Time:
    • Friday December 6, 2019 - Saturday December 7, 2019
      3:00 pm - 4:59 pm
  • Location: Klaus 3100
  • Phone:
  • URL:
  • Email:
  • Fee(s):
    N/A
  • Extras:
Contact
No contact information submitted.
Summaries

Summary Sentence: Developer-Centric Automated Debugging

Full Summary: No summary paragraph submitted.

Title: Developer-Centric Automated Debugging

 

Xiangyu Li

School of Computer Science

College of Computing

Georgia Institute of Technology

 

Date: Friday, December 6, 2019

Time: 3:00pm - 5:00pm (EST)

Location: Klaus 3100

 

Committee:

Alessandro Orso - Advisor, School of Computer Science, Georgia Institute of Technology

David Devecsery - School of Computer Science, Georgia Institute of Technology

Qirun Zhang - School of Computer Science, Georgia Institute of Technology

Spencer Rugaber - College of Computing, Georgia Institute of Technology

Marcelo d'Amorim - Department of Computer Science, Federal University of Pernambuco

 

Abstract:

Software debugging is an expensive activity that is responsible for a significant part of

software maintenance cost. In particular, locating faulty code (i.e., fault localization) is one

of the most challenging parts. In the past years, researchers have proposed many techniques

that aim at fully automating the task of fault localization. Although these techniques are

shown to be effective in reducing the amount of code developers need to inspect to locate

faults, there is growing evidence that they provide developers with limited help in realistic

debugging scenarios. I believe that a practical automated debugging technique should have

human developers at the center of the debugging process rather than trying to completely

replace them.

 

In this proposal, I present three projects, two completed and one on-going, that define

techniques to support developer-centric automated debugging. First, I present Enlighten,

an interactive, feedback-driven fault localization technique. Enlighten supports and

automates developers’ debugging workflow as follows. It 1) uses traditional statistical fault

localization (SFL) to formulate an initial hypothesis of where the fault may be; 2) identifies

a relevant subset of execution that can help support or refute the formulated hypothesis;

3) presents the developer with a query about the identified execution subset in the form of

a correctness question about the input-output relation of the partial execution; 4) refines

its hypothesis of the fault by using the developer’s feedback; and 5) repeats these steps

until the fault is found. Second, I discuss my work on improving the accuracy of dynamic

slicing, which allows automated debugging techniques that rely on dynamic dependence

analysis to handle a broader range of faults. I present my finding that existing dynamic

dependence analysis techniques could miss the cause-effect relations between faults and the

observed failures if the faulty program states propagate via incorrect computation of

memory addresses. To address this limitation, I define the concept of potential memory-address

dependence, which explicitly represents this type of causal relations, and describe an

algorithm that computes it. Third, supporting the developer-centric, automated debugging

workflow, which requires collecting, analyzing, and navigating the typically massive amount

of information in the failing execution, can be extremely expensive for non-trivial software

and failures. In fact, many existing interactive debugging techniques are shown to work

well on short executions, but fail to scale to even modest-length executions. My on-going

project aims to address this limitation. By utilizing a record-and-replay system, the technique

efficiently recreates the failing execution, breaks it down into smaller time slices, and

analyzes these slices in a parallelized, and on-demand fashion. I expect this approach to

scale to realistic, potentially long program executions while providing short response time

in the interactive debugging process.

Additional Information

In Campus Calendar
No
Groups

Graduate Studies

Invited Audience
Faculty/Staff, Public, Graduate students, Undergraduate students
Categories
Other/Miscellaneous
Keywords
Phd proposal
Status
  • Created By: Tatianna Richardson
  • Workflow Status: Published
  • Created On: Dec 3, 2019 - 11:51am
  • Last Updated: Dec 5, 2019 - 7:45am