PerformanceHat

Feedback Driven Development in your IDE

View project on GitHub

About

A unifying theme of many ongoing trends in software engineering is a blurring of the boundaries between building and operating software products. We explore what we consider to be the logical next step in this succession: integrating runtime monitoring data from production deployments of the software into the tools developers utilize in their daily workflows (i.e., IDEs) to enable tighter feedback loops. We refer to this notion as feedback-driven development (FDD).

PerformanceHat is an IDE plugin for Eclipse that integrates runtime metrics (e.g., response times) into the source code. It also attempts to predict the performance of newly written code (for now limited to for-loops).

Here is an example of a 'hotspot' method that is highlighted. Hovering over it yields a summary statistic and the possibility to dig deeper.

Performance Hotspots

Here, an example for performance prediction.

Performance Prediction on for-loops

PerformanceHat has been demonstrated at the International Conference on Software Engineering (ICSE'18). The following video is a summarized recording of the demo.

Team

Jürgen Cito (Postdoc, MIT CSAIL)
Philipp Leitner (Professor, Chalmers)
Harald Gall (Professor, UZH)

Students

Christian Bosshard (MSc thesis, UZH'15 - now Software Engineer at Ergon)
Genc Mazlami (MSc research engineer, UZH'17 - now Software Engineer at Zühlke)
Markus Knecht (MSc project, UZH'17 - now PhD student at UZH)

Publications

"Interactive Production Performance Feedback in the IDE", Jürgen Cito, Philipp Leitner, Martin Rinard, Harald C. Gall ICSE'19 Technical Research. [Paper PDF]

"PerformanceHat – Augmenting Source Code with Runtime Performance Traces in the IDE", Jürgen Cito, Philipp Leitner, Christian Bosshard, Markus Knecht, Genz Mazlami, Harald C. Gall ICSE'18 Demo. [Paper PDF] [Demo Video]

“Runtime Metric Meets Developer – Building Better Cloud Applications Using Feedback,” Jürgen Cito, Philipp Leitner, Harald Gall, Aryan Dadashi, Anne Keller, and Andreas Roth. SPLASH Onward! 2015 [Paper PDF] [Slides] [Talk]

“The Making of Cloud Applications – An Empirical Study on Software Development for the Cloud,” Jürgen Cito, Philipp Leitner, Thomas Fritz, Harald Gall in FSE'15 [PDF] [Slides]