COOKIES: By using this website you agree that we can place Google Analytics Cookies on your device for performance monitoring. |
University of Cambridge > Talks.cam > Rainbow Group Seminars > Developer Targeted Runtime Analytics - Extending Developers' Mental Models by Runtime Dimensions
Developer Targeted Runtime Analytics - Extending Developers' Mental Models by Runtime DimensionsAdd to your list(s) Download to your calendar using vCal
If you have a question about this talk, please contact Alexander Simpson. To reason about source code, developers construct mental models that are informed by their knowledge of control and data flow. Reasoning about runtime aspects of code (e.g., performance) requires consulting external information sources, such as profilers, but is often guided by personal belief and gut-feeling. For software deployed in scalable cloud infrastructures, developers even need to inspect distributed runtime traces to reason about the peculiarities of production environments. In my work, I propose a framework to model these traces together with the Abstract Syntax Tree (AST) of source code to extend developer’s mental models by runtime dimensions. Additionally, we leverage learning techniques to infer future states of runtime properties of newly written code. This should serve as an early-warning system to prevent runtime problems from reaching production. We implemented an instantiation of this framework as a proof-of-concept IDE plugin called PerformanceHat. It augments the source code view with a runtime performance dimension and infers performance properties of certain types of code changes to provide live feedback during development. We recently evaluated our approach in a controlled experiment with 20 professional software developers and found that developers were significantly faster in (1) detecting the performance problem, and (2) finding the root-cause of the problem. Short Bio: Jürgen Cito is a PhD candidate at the University of Zurich, Switzerland, where his research investigates the intersection between software engineering and performance engineering. In the summer of 2015, he was a research intern working on cloud analytics at the IBM TJ Watson Research Center in New York. In the spring of 2016, he was a visiting PhD student at the Massachusetts Institute of Technology (MIT), where he worked on program analysis to conserve energy in mobile applications. He is currently visiting the Physical Computation Lab at the University of Cambridge. Prior to starting his PhD, Jürgen was a software engineer for performance monitoring solutions at Catchpoint Systems, a technology consultant at Accenture, and a software engineer for web agency itellico internet solutions. This talk is part of the Rainbow Group Seminars series. This talk is included in these lists:
Note that ex-directory lists are not shown. |
Other listsPersian Society talks Faculty of Education Special Events Thin-Film Magnetism GroupOther talksMysteries of the solar chromosphere explored using the high-resolution observations Debtors’ schedules: a new source for understanding the economy in 18th-century England What has Engineering Design to say about Healthcare Improvement? Volcanoes and Explosions Diagnosing diseases of childhood: a bioarchaeological and palaeopathological perspective |