University of Cambridge > > Rainbow Group Seminars > Developer Targeted Runtime Analytics - Extending Developers' Mental Models by Runtime Dimensions

Developer Targeted Runtime Analytics - Extending Developers' Mental Models by Runtime Dimensions

Add 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.

Tell a friend about this talk:

This talk is included in these lists:

Note that ex-directory lists are not shown.


© 2006-2023, University of Cambridge. Contact Us | Help and Documentation | Privacy and Publicity