skip to main content
10.1145/3183440.3183481acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
demonstration

PerformanceHat: augmenting source code with runtime performance traces in the IDE

Published: 27 May 2018 Publication History

Abstract

Performance problems observed in production environments that have their origin in program code are immensely hard to localize and prevent. Data that can help solve such problems is usually found in external dashboards and is thus not integrated into the software development process. We propose an approach that augments source code with runtime traces to tightly integrate runtime performance traces into developer workflows. Our goal is to create operational awareness of performance problems in developers' code and contextualize this information to tasks they are currently working on. We implemented this approach as an Eclipse IDE plugin for Java applications that is available as an open source project on GitHub. A video of PerformanceHat in action is online: https://youtu.be/fTBBiylRhag

References

[1]
Aceto Giuseppe, Botta Alessio, De Donato Walter, Pescapè Antonio. Cloud monitoring: A survey // Computer Networks. 2013. 57, 9. 2093--2115.
[2]
Beck Fabio, Moseler Oliver, Diehl Stephan, Rey Gunter Daniel. In situ understanding of performance bottlenecks through visually augmented code // Program Comprehension (ICPC), 2013 IEEE 21st International Conference on. 2013. 63--72.
[3]
Bezemer Cor-Paul, Pouwelse Johan, Gregg Brendan. Understanding software performance regressions using differential flame graphs // Software Analysis, Evolution and Reengineering (SANER), 2015 IEEE 22nd International Conference on. 2015. 535--539.
[4]
Cito Jürgen, Leitner Philipp, Gall Harald C, Dadashi Aryan, Keller Anne, Roth Andreas. Runtime metric meets developer: building better cloud applications using feedback // 2015 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward!). 2015.
[5]
Cito Jürgen, Oliveira Fabio, Leitner Philipp, Nagpurkar Priya, Gall Harald C. Context-Based Analytics - Establishing Explicit Links between Runtime Traces and Source Code // Proceedings of the 39th International Conference on Software Engineering Companion. 2017.
[6]
Cornelissen Bas, Zaidman Andy, Van Deursen Arie. A controlled experiment for program comprehension through trace visualization // Software Engineering, IEEE Transactions on. 2011. 37, 3. 341--355.
[7]
Fittkau Florian, Krause Alexander, Hasselbring Wilhelm. Exploring software cities in virtual reality // Software Visualization (VISSOFT), 2015 IEEE 3rd Working Conference on. 2015. 130--134.
[8]
Hamilton James. On Designing and Deploying Internet-scale Services // Proceedings of the 21st Conference on Large Installation System Administration Conference. Berkeley, CA, USA: USENIX Association, 2007.18:1--18:12. (LISA'07).
[9]
Lieber Tom, Brandt Joel R, Miller Rob C. Addressing misconceptions about code with always-on programming visualizations // Proceedings of the 32nd annual ACM conference on Human factors in computing systems. 2014. 2481--2490.
[10]
Röthlisberger David, Härry Marcel, Villazón Alex, Ansaloni Danilo, Binder Walter, Nierstrasz Oscar, Moret Philippe. Augmenting static source views in IDEs with dynamic metrics // Software Maintenance, 2009. ICSM 2009. IEEE International Conference on. 2009. 253--262.
[11]
Sadowski Caitlin, Gogh Jeffrey van, Jaspan Ciera, Soederberg Emma, Winter Collin. Tricorder: Building a Program Analysis Ecosystem // International Conference on Software Engineering (ICSE). 2015.
[12]
Sandoval Alcocer Juan Pablo, Bergel Alexandre, Ducasse Stéphane, Denker Marcus. Performance evolution blueprint: Understanding the impact of software evolution on performance // Software Visualization (VISSOFT), 2013 First IEEE Working Conference on. 2013. 1--9.
[13]
van Hoorn André, Waller Jan, Hasselbring Wilhelm. Kieker: A Framework for Application Performance Monitoring and Dynamic Software Analysis // Proceedings of the 3rd ACM/SPEC International Conference on Performance Engineering (ICPE). New York, NY, USA: ACM, 2012. 247--248.

Cited By

View all
  • (2024)EasyView: Bringing Performance Profiles into Integrated Development EnvironmentsProceedings of the 2024 IEEE/ACM International Symposium on Code Generation and Optimization10.1109/CGO57630.2024.10444840(386-398)Online publication date: 2-Mar-2024
  • (2023)DiagConfig: Configuration Diagnosis of Performance Violations in Configurable Software SystemsProceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3611643.3616300(566-578)Online publication date: 30-Nov-2023
  • (2023)Odyssey: An Interactive Workbench for Expert-Driven Floating-Point Expression RewritingProceedings of the 36th Annual ACM Symposium on User Interface Software and Technology10.1145/3586183.3606819(1-15)Online publication date: 29-Oct-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '18: Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings
May 2018
231 pages
ISBN:9781450356633
DOI:10.1145/3183440
  • Conference Chair:
  • Michel Chaudron,
  • General Chair:
  • Ivica Crnkovic,
  • Program Chairs:
  • Marsha Chechik,
  • Mark Harman
© 2018 Association for Computing Machinery. ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of a national government. As such, the Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only.

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 27 May 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. development workflow
  2. program analysis
  3. software performance engineering

Qualifiers

  • Demonstration

Conference

ICSE '18
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)11
  • Downloads (Last 6 weeks)3
Reflects downloads up to 17 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)EasyView: Bringing Performance Profiles into Integrated Development EnvironmentsProceedings of the 2024 IEEE/ACM International Symposium on Code Generation and Optimization10.1109/CGO57630.2024.10444840(386-398)Online publication date: 2-Mar-2024
  • (2023)DiagConfig: Configuration Diagnosis of Performance Violations in Configurable Software SystemsProceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3611643.3616300(566-578)Online publication date: 30-Nov-2023
  • (2023)Odyssey: An Interactive Workbench for Expert-Driven Floating-Point Expression RewritingProceedings of the 36th Annual ACM Symposium on User Interface Software and Technology10.1145/3586183.3606819(1-15)Online publication date: 29-Oct-2023
  • (2023)Performance Prediction From Source Code Is Task and Domain Specific2023 IEEE/ACM 31st International Conference on Program Comprehension (ICPC)10.1109/ICPC58990.2023.00015(35-42)Online publication date: May-2023
  • (2022)A model-driven approach for continuous performance engineering in microservice-based systemsJournal of Systems and Software10.1016/j.jss.2021.111084183(111084)Online publication date: Jan-2022
  • (2022)The ThreadRadar visualization for debugging concurrent Java programsJournal of Visualization10.1007/s12650-022-00843-w25:6(1267-1289)Online publication date: 1-Dec-2022
  • (2021)ThreadRadar: A Thread-Aware Visualization for Debugging Concurrent Java ProgramsProceedings of the 14th International Symposium on Visual Information Communication and Interaction10.1145/3481549.3481566(1-8)Online publication date: 6-Sep-2021
  • (2021)Guided ExplorationProceedings of the ACM on Human-Computer Interaction10.1145/34617315:EICS(1-34)Online publication date: 29-May-2021
  • (2021)Guided Optimization for Image Processing Pipelines2021 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)10.1109/VL/HCC51201.2021.9576341(1-5)Online publication date: 10-Oct-2021
  • (2021)White-Box Analysis over Machine LearningProceedings of the 43rd International Conference on Software Engineering10.1109/ICSE43902.2021.00100(1072-1084)Online publication date: 22-May-2021
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media