Developer Targeted Runtime Analytics - Extending Developers' Mental Models by Runtime Dimensions
- 👤 Speaker: Jürgen Cito (University of Zurich)
- 📅 Date & Time: Thursday 02 November 2017, 14:15 - 15:15
- 📍 Venue: SS03 Meeting Room, Computer Laboratory
Abstract
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.
Series This talk is part of the Rainbow Group Seminars series.
Included in Lists
- All Talks (aka the CURE list)
- bld31
- Cambridge Centre for Data-Driven Discovery (C2D3)
- Cambridge talks
- Chris Davis' list
- Department of Computer Science and Technology talks and seminars
- Interested Talks
- J
- ndk22's list
- ob366-ai4er
- Rainbow Group Seminars
- rp587
- School of Technology
- SS03 Meeting Room, Computer Laboratory
- Trust & Technology Initiative - interesting events
- yk449
Note: Ex-directory lists are not shown.
![[Talks.cam]](/static/images/talkslogosmall.gif)

Jürgen Cito (University of Zurich)
Thursday 02 November 2017, 14:15-15:15