{"661146":{"#nid":"661146","#data":{"type":"event","title":"PhD Defense by Richard Rutledge","body":[{"value":"\u003Cp\u003ETitle: On the Use of Over-Approximate Analysis in Support of Software Development and Testing\u003C\/p\u003E\r\n\r\n\u003Cp\u003EDate: Wednesday, 28 Sept 2022\u003C\/p\u003E\r\n\r\n\u003Cp\u003ETime: 15:30 am - 17:00 pm ET\u003C\/p\u003E\r\n\r\n\u003Cp\u003ELocation (virtual): \u003Ca href=\u0022https:\/\/gatech.zoom.us\/j\/96131130764\u0022\u003Ehttps:\/\/gatech.zoom.us\/j\/96131130764\u003C\/a\u003E\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u003Cbr \/\u003E\r\n\u0026nbsp;\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u003Cstrong\u003ERichard Rutledge\u003C\/strong\u003E\u003C\/p\u003E\r\n\r\n\u003Cp\u003EPhD Student\u003C\/p\u003E\r\n\r\n\u003Cp\u003ESchool of Computer Science\u003Cbr \/\u003E\r\nGeorgia Institute of Technology\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\u003Cbr \/\u003E\r\nDr. Milos Prvulovic - School of Computer Science, Georgia Institute of Technology\u003Cbr \/\u003E\r\nDr. Qirun Zhang - School of Computer Science, Georgia Institute of Technology\u003Cbr \/\u003E\r\nDr. Vivek Sarkar - Chair, School of Computer Science, Georgia Institute of Technology\u003Cbr \/\u003E\r\nDr. Spencer Rugaber - College of Computing, Georgia Institute of Technology\u003C\/p\u003E\r\n\r\n\u003Cp\u003EDr. Marcelo d\u0026#39;Amorim - Computer Science Department, Federal University of Pernambuco (UFPE), Recife, Brazil\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\u003E\u0026nbsp;\u003C\/p\u003E\r\n\r\n\u003Cp\u003EThe effectiveness of dynamic program analyses, such as profiling and memory-leak detection, crucially depend on the coverage of the test inputs. However, adequate sets of inputs are rarely available. Existing automated input generation techniques can help but tend to be either too expensive or ineffective.\u0026nbsp; For example, traditional symbolic execution scales poorly to real-world programs and random input generation may never reach deep states within the program.\u003Cbr \/\u003E\r\n\u003Cbr \/\u003E\r\nFor scalable, effective automated input generation that can better support dynamic analysis, I propose an approach that extends traditional symbolic execution by targeting increasingly small fragments of a program. The approach starts by generating inputs for the whole program and progressively introduces additional unconstrained state until it reaches a given program coverage objective. This approach is applicable to any client dynamic analysis requiring high coverage that is also tolerant of over-approximated program behavior--behavior that cannot occur on a complete execution. To assess the effectiveness of this approach, I applied it to two client techniques. The first technique infers the actual path taken by a program execution by observing the CPU\u0026#39;s electromagnetic emanations and requires inputs to train a model that can recognize sub-paths. The second technique performs automated regression testing by identifying behavioral differences between two program versions and requires inputs to perform differential testing.\u003Cbr \/\u003E\r\n\u003Cbr \/\u003E\r\nInput generation by symbolic execution can also be hampered by unsupported solver theories.\u0026nbsp; For example, state-of-the-art solvers such as KLEE concretize floating-point (FP) values upon access to avoid FP expressions in the path constraint, which are unsupported by most SMT solvers and carry high overhead by the few (e.g. Z3) that do.\u0026nbsp; I will further present my preliminary work to transform FP expressions to fixed-point (FXP), significantly improving coverage over vanilla KLEE.\u003Cbr \/\u003E\r\n\u003Cbr \/\u003E\r\nFinally, I will also discuss future research directions, including additional empirical evaluations and the investigation of additional client analyses that could benefit from both approaches.\u003C\/p\u003E\r\n","summary":null,"format":"limited_html"}],"field_subtitle":"","field_summary":"","field_summary_sentence":[{"value":"On the Use of Over-Approximate Analysis in Support of Software Development and Testing"}],"uid":"27707","created_gmt":"2022-09-13 13:09:48","changed_gmt":"2022-09-13 13:09:48","author":"Tatianna Richardson","boilerplate_text":"","field_publication":"","field_article_url":"","field_event_time":{"event_time_start":"2022-09-28T16:30:00-04:00","event_time_end":"2022-09-28T18:00:00-04:00","event_time_end_last":"2022-09-28T18:00:00-04:00","gmt_time_start":"2022-09-28 20:30:00","gmt_time_end":"2022-09-28 22:00:00","gmt_time_end_last":"2022-09-28 22: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":"78751","name":"Undergraduate students"}],"affiliations":[],"classification":[],"areas_of_expertise":[],"news_and_recent_appearances":[],"phone":[],"contact":[],"email":[],"slides":[],"orientation":[],"userdata":""}}}