Software performance is a critical quality attribute measured by the timeliness, responsiveness, and resource consumption of a system at run-time. Performance issues can lead to severe consequences, including budget overrun, project delay, and market loss. In past decades, Moore’s Law greatly benefited software performance by offering exponentially more powerful hardware resources. Unfortunately, in recent years, advancement on the hardware side is reaching physical limitations. Therefore, the need for transforming performance-engineering techniques on the software side becomes more critical and urgent. This research aims to develop a framework composed of cutting-edge techniques that can transform how practitioners manage, identify, and address real-life software performance issues.

This project focuses on three gaps in the current research and practice of software performance engineering. First, there is a lack of a large-scale database and comprehensive understanding of common performance issues in real-world projects. Second, despite the ubiquity of software architecture, there is inadequate understanding of how complicated architectural connections contribute to performance issues and of how fixing harmful connections leads to rewarding optimization. Finally, there is a lack of a systematic understanding of different levels of optimization tactics -- reusable resolution patterns -- for addressing real-life performance issues with different concerning scopes. This project bridges these gaps through three progressive research thrusts. Thrust 1 will construct and maintain an open database of common types of real-life performance issues, leveraging natural-language-processing techniques. Thrust 2 will contribute an architecture-centric approach that identifies architecturally connected performance-optimization opportunities, based on novel graph-embedding techniques. The proposed approach will seamlessly integrate architecture modeling and performance analysis. Thrust 3 will provide developers with actionable guidance in mitigating performance issues. This thrust will first curate multi-level performance optimization tactics from extensive empirical studies, and then build a recommender system to suggest the proper tactics to developers in performance optimization.

This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Communication Foundations (CCF)
Application #
2044888
Program Officer
Sol Greenspan
Project Start
Project End
Budget Start
2021-07-01
Budget End
2026-06-30
Support Year
Fiscal Year
2020
Total Cost
$197,421
Indirect Cost
Name
Stevens Institute of Technology
Department
Type
DUNS #
City
Hoboken
State
NJ
Country
United States
Zip Code
07030