Software debugging is a time-consuming and challenging
process. Supporting debugging has been a focus of the software
engineering field since its inception with numerous empirical studies,
theories, and tools to support developers in this
task. \emph{Performance} bugs and performance debugging is a sub-genre
of debugging that has received less attention.
In this paper we contribute an empirical case study of performance bug
diagnosis in the WiredTiger project, the default database engine
behind MongoDB.
We perform an in-depth analysis of 44
Jira tickets documenting WiredTiger performance-related issues.
We investigate how developers diagnose performance bugs: what
information they collect, what tools they use, and what processes
they follow.
Our findings show that developers spend the majority of their performance
debugging time chasing outlier events, such as latency spikes and throughput
drops. Yet, they are not properly supported by existing performance debugging
tools in this task. We also observe that developers often use tools without
knowing in advance whether the obtained information will be relevant to
debugging the problem. Therefore, we believe developers can benefit from tools
that can be used for unstructured exploration of performance data, rather than
for answering specific questions.
Tue 6 Nov Times are displayed in time zone: Guadalajara, Mexico City, Monterrey change
13:30 - 15:00 | |||
13:30 22mTalk | CHiP: A Configurable Hybrid Parallel Covering Array Constructor Journal-First DOI | ||
13:52 22mTalk | Learning to Sample: Exploiting Similarities Across Environments to Learn Performance Models for Configurable Systems Research Papers Pooyan JamshidiUniversity of South Carolina, Miguel VelezCarnegie Mellon University, USA, Christian KaestnerCarnegie Mellon University, Norbert SiegmundBauhaus-University Weimar | ||
14:15 22mTalk | Performance Comprehension at WiredTiger Research Papers Alexandra (Sasha) FedorovaUniversity of British Columbia, Craig MustardUniversity of British Columbia, Canada, Ivan BeschastnikhComputer Science, University of British Columbia, Julia RubinUniversity of British Columbia, Augustine WongUniversity of British Columbia, Canada, Svetozar MiucinUniversity of British Columbia, Canada, Louis YeUniversity of British Columbia, Canada | ||
14:37 22mTalk | MemFix: Static Analysis-Based Repair of Memory Deallocation Errors for C Research Papers |