{"646317":{"#nid":"646317","#data":{"type":"event","title":"PhD Defense by Xiangyu Li","body":[{"value":"\u003Cp\u003E\u003Cstrong\u003ETitle: Developer-Centric Automated Debugging\u003C\/strong\u003E\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u003Cstrong\u003EXiangyu Li\u003C\/strong\u003E\u003C\/p\u003E\r\n\r\n\u003Cp\u003EPh.D. Candidate in Computer Science\u003C\/p\u003E\r\n\r\n\u003Cp\u003ESchool of Computer Science\u003C\/p\u003E\r\n\r\n\u003Cp\u003ECollege of Computing\u003C\/p\u003E\r\n\r\n\u003Cp\u003EGeorgia Institute of Technology\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u003Cstrong\u003EDate\u003C\/strong\u003E: Monday, April 26, 2021\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u003Cstrong\u003ETime\u003C\/strong\u003E: 9:00 AM - 11:00 AM (ET)\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u003Cstrong\u003ELocation\u003C\/strong\u003E: \u003Ca href=\u0022https:\/\/bluejeans.com\/648661869\u0022\u003Ehttps:\/\/bluejeans.com\/648661869\u003C\/a\u003E\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u003Cstrong\u003ECommittee\u003C\/strong\u003E:\u003C\/p\u003E\r\n\r\n\u003Cp\u003EDr. Alessandro Orso - Advisor, School of Computer Science, Georgia Institute of Technology\u003C\/p\u003E\r\n\r\n\u003Cp\u003EDr. David Devecsery - School of Computer Science, Georgia Institute of Technology\u003C\/p\u003E\r\n\r\n\u003Cp\u003EDr. Qirun Zhang - School of Computer Science, Georgia Institute of Technology\u003C\/p\u003E\r\n\r\n\u003Cp\u003EDr. Spencer Rugaber - College of Computing, Georgia Institute of Technology\u003C\/p\u003E\r\n\r\n\u003Cp\u003EDr. Marcelo d\u0026#39;Amorim - Department of Computer Science, Federal University of Pernambuco\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u003Cstrong\u003EAbstract\u003C\/strong\u003E:\u003C\/p\u003E\r\n\r\n\u003Cp\u003ESoftware debugging is an expensive activity that is responsible for a significant part of\u003C\/p\u003E\r\n\r\n\u003Cp\u003Esoftware maintenance cost. In particular, locating faulty code (i.e., fault localization) is\u003C\/p\u003E\r\n\r\n\u003Cp\u003Eone of the most challenging parts. In the past years, researchers have proposed many techniques\u003C\/p\u003E\r\n\r\n\u003Cp\u003Ethat aim at fully automating the task of fault localization. Although these techniques are\u003C\/p\u003E\r\n\r\n\u003Cp\u003Eshown to be effective in reducing the amount of code developers need to inspect to locate\u003C\/p\u003E\r\n\r\n\u003Cp\u003Efaults, there is growing evidence that they provide developers with limited help in realistic\u003C\/p\u003E\r\n\r\n\u003Cp\u003Edebugging scenarios. I believe that a practical automated debugging technique should have\u003C\/p\u003E\r\n\r\n\u003Cp\u003Ehuman developers at the center of the debugging process rather than trying to completely\u003C\/p\u003E\r\n\r\n\u003Cp\u003Ereplace them.\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\r\n\r\n\u003Cp\u003EIn this dissertation, I present three of my techniques that support developer-centric automated\u003C\/p\u003E\r\n\r\n\u003Cp\u003Edebugging. First, I present ENLIGHTEN, an interactive, feedback-driven fault localization\u003C\/p\u003E\r\n\r\n\u003Cp\u003Etechnique. ENLIGHTEN supports and automates developers\u0026rsquo; debugging workflow as follows.\u003C\/p\u003E\r\n\r\n\u003Cp\u003EIt 1) uses traditional statistical fault localization (SFL) to formulate an initial hypothesis\u003C\/p\u003E\r\n\r\n\u003Cp\u003Eof where the fault may be; 2) identifies a relevant subset of execution that can help support\u003C\/p\u003E\r\n\r\n\u003Cp\u003Eor refute the formulated hypothesis; 3) presents the developer with a query about the identified\u003C\/p\u003E\r\n\r\n\u003Cp\u003Eexecution subset in the form of a correctness question about the input-output relation of the\u003C\/p\u003E\r\n\r\n\u003Cp\u003Epartial execution; 4) refines its hypothesis of the fault by using the developer\u0026rsquo;s feedback; and\u003C\/p\u003E\r\n\r\n\u003Cp\u003E5) repeats these steps until the fault is found. Second, I discuss my work on improving the\u003C\/p\u003E\r\n\r\n\u003Cp\u003Eaccuracy of dynamic dependence analysis, which is a powerful tool for developers to investigate\u003C\/p\u003E\r\n\r\n\u003Cp\u003Eprogram behavior in an interactive debugging setting and a foundation for many automated debugging\u003C\/p\u003E\r\n\r\n\u003Cp\u003Etechniques to model dynamic execution semantics. I present my finding that existing dynamic\u003C\/p\u003E\r\n\r\n\u003Cp\u003Edependence analysis techniques could miss the cause-effect relations between faults and the\u003C\/p\u003E\r\n\r\n\u003Cp\u003Eobserved failures if the faulty program states propagate via incorrect computation of memory\u003C\/p\u003E\r\n\r\n\u003Cp\u003Eaddresses. To address this limitation, I define the concept of potential memory-address dependence,\u003C\/p\u003E\r\n\r\n\u003Cp\u003Ewhich explicitly represents this type of causal relations, and describe an algorithm that computes\u003C\/p\u003E\r\n\r\n\u003Cp\u003Eit. Third, I present TESSERACT, a technique that improves the scalability of dynamic dependency\u003C\/p\u003E\r\n\r\n\u003Cp\u003Eanalysis in the context of interactive debugging. Many existing dependency-based debugging\u003C\/p\u003E\r\n\r\n\u003Cp\u003Etechniques are shown to work well on short executions, but fail to scale to even modest-length ones.\u003C\/p\u003E\r\n\r\n\u003Cp\u003ETESSERACT addresses this limitation by utilizing a record-and-replay system to efficiently recreate\u003C\/p\u003E\r\n\r\n\u003Cp\u003Ethe failing execution, break it down into small time slices, and analyze these slices in a\u003C\/p\u003E\r\n\r\n\u003Cp\u003Eparallelized, and on-demand fashion.\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\r\n","summary":null,"format":"limited_html"}],"field_subtitle":"","field_summary":"","field_summary_sentence":[{"value":"Developer-Centric Automated Debugging "}],"uid":"27707","created_gmt":"2021-04-09 17:26:44","changed_gmt":"2021-04-09 17:26:44","author":"Tatianna Richardson","boilerplate_text":"","field_publication":"","field_article_url":"","field_event_time":{"event_time_start":"2021-04-26T10:00:00-04:00","event_time_end":"2021-04-26T12:00:00-04:00","event_time_end_last":"2021-04-26T12:00:00-04:00","gmt_time_start":"2021-04-26 14:00:00","gmt_time_end":"2021-04-26 16:00:00","gmt_time_end_last":"2021-04-26 16:00:00","rrule":null,"timezone":"America\/New_York"},"extras":[],"groups":[{"id":"221981","name":"Graduate Studies"}],"categories":[],"keywords":[{"id":"100811","name":"Phd Defense"}],"core_research_areas":[],"news_room_topics":[],"event_categories":[{"id":"1788","name":"Other\/Miscellaneous"}],"invited_audience":[{"id":"78761","name":"Faculty\/Staff"},{"id":"78771","name":"Public"},{"id":"174045","name":"Graduate students"},{"id":"78751","name":"Undergraduate students"}],"affiliations":[],"classification":[],"areas_of_expertise":[],"news_and_recent_appearances":[],"phone":[],"contact":[],"email":[],"slides":[],"orientation":[],"userdata":""}}}