Tuesday, August 28, 2018 - 2:00pm to 3:00pm
Location:Traffic21 Classroom 6501 Gates Hillman Centers
Speaker:ZACK COKER, Ph.D. Student https://www.andrew.cmu.edu/user/zfc
Automated identification and repair of state-based framework directive violations
Professional developers use software frameworks for the benefits of architectural reuse: the process of applying previously proven designs to new applications in a given domain. Unfortunately, for frameworks to support architectural reuse, frameworks must impose constraints on developers applications. The constraints derive from the assumptions that frameworks make to interact with a diverse set of applications. To investigate how framework imposed constraints affect developers, I conducted a human study on debugging violations of framework constraints. From this study, I found that the most time-consuming difficulty developers faced was caused by the state restrictions on objects in the framework. I also found that developers had difficulty fixing state-based framework bugs, even when provided the failure location, implying that fixing the bug is the hardest step of the framework application debugging process. To address this issue, I propose FrameFix: a technique to automatically repair state violations in frameworks. The central innovations are a language for specifying constraints along with a hybrid (static/dynamic) analysis to identify and localize violations in framework clients. I will then evaluate the accuracy of the generated repairs on sample programs with framework state violations. The ultimate goal of the tool is to provide a way for framework designers to improve developer experience and reduce the challenges of framework development.
Claire Le Goues (Chair)
Ciera Jaspan (Google LLC)