Date & time
10 a.m. – 1 p.m.
This event is free
School of Graduate Studies
ER Building
2155 Guy St.
Room ER-1202
Yes - See details
When studying for a doctoral degree (PhD), candidates submit a thesis that provides a critical review of the current state of knowledge of the thesis subject as well as the student’s own contributions to the subject. The distinguishing criterion of doctoral graduate research is a significant and original contribution to knowledge.
Once accepted, the candidate presents the thesis orally. This oral exam is open to the public.
Mining Software Artifacts for Understanding Software Performance Abstract Software performance is commonly studied through metrics, profilers, and performance tests. While these techniques provide valuable measurements of runtime behavior, they capture only one view of a system's performance. This thesis studies software performance through three complementary software artifacts: developer discussions, user reviews, and source code. These artifacts reveal how developers understand performance problems, how users experience them, and how implementation decisions may influence them. First, we study developer discussions through open coding of 1,000 Apache Spark questions on Stack Overflow. We characterize developer challenges and locate performance among them. Performance issues are rare (about 5% of questions) yet among the hardest to resolve (median 8.6 hours), with the difficulty driven mainly by gaps in API knowledge. Second, we study user reviews and propose RPerf, an approach that uncovers performance topics, key performance indicators (KPIs), and usage scenarios with accuracies above 93% and 80%. User reviews help identify user-reported performance problems and the real-world scenarios in which they occur. Finally, we study source code and propose ConfigSense, a multi-agent large language model approach that identifies performance-sensitive configurations with an average accuracy of 70.55% across seven open-source systems, surpassing the prior state-of-the-art approach. Source code analysis identifies configurations and implementation mechanisms that may influence performance. Across the three studies, developer discussions expose knowledge bottlenecks, user reviews capture user-reported problems and scenarios, and source code analysis identifies configurations that may influence performance. Together, they show that different artifacts provide complementary insights into software performance.
© Concordia University