Project Details
Perf4JS: Automatically Fixing Performance Problems in Real-World JavaScript Applications
Applicant
Professor Dr. Michael Pradel
Subject Area
Software Engineering and Programming Languages
Term
from 2017 to 2021
Project identifier
Deutsche Forschungsgemeinschaft (DFG) - Project number 383433544
As dynamic languages, e.g., JavaScript, are becoming more and more prevalent, the performance of applications written in these languages is crucial to ensure responsiveness, high throughput, and energy-efficiency. Unfortunately, finding and optimizing performance bottlenecks currently is a mostly manual and time-consuming process performed by few expert developers. The reason is that existing program analysis techniques for dynamic languages suffer from fundamental limitations that prevent tools from automating effective code optimizations. The proposed project will research novel program analysis and refactoring techniques that address the specific needs of highly dynamic languages. We expect these fundamentally new techniques to enable a wide range of applications across multiple domains, languages, and software quality goals. As a specific application, the proposal focuses on automatically improving the performance of real-world JavaScript applications. To this end, we will develop approaches that help developers to detect optimization opportunities, refactor them by replacing inefficient with efficient code, and by reliably and realistically measuring the effect on performance. We envision that the planned work has a significant impact on the thriving research fields of program analysis and performance analysis.
DFG Programme
Research Grants