DocumentCode
1637529
Title
Poster: Automatically Fixing Real-World JavaScript Performance Bugs
Author
Selakovic, Marija ; Pradel, Michael
Author_Institution
Dept. of Comput. Sci., Tech. Univ. Darmstadt, Darmstadt, Germany
Volume
2
fYear
2015
Firstpage
811
Lastpage
812
Abstract
Programs often suffer from poor performance that can be fixed by relatively simple changes. Currently, developers either manually identify and fix such performance problems, or they rely on compilers to optimize their code. Unfortunately, manually fixing performance bugs is non-trivial, and compilers are limited to a predefined set of optimizations. This paper presents an approach for automatically finding and fixing performance bugs in JavaScript programs. To focus our work on relevant problems, we study 37 real-world performance bug fixes from eleven popular JavaScript projects and identify several recurring fix patterns. Based on the results of the study, we present a static analysis that identifies occurrences of common fix patterns and a fix generation technique that proposes to transform a given program into a more efficient program. Applying the fix generation technique to three libraries with known performance bugs yields fixes that are equal or equivalent to those proposed by the developers, and that lead to speedups between 10% and 25%.
Keywords
Java; program debugging; program diagnostics; JavaScript programs; common fix patterns; compilers; fix generation technique; real-world performance bugs; static analysis; Computer bugs; Libraries; Maintenance engineering; Optimization; Reactive power; Semantics; Transforms;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering (ICSE), 2015 IEEE/ACM 37th IEEE International Conference on
Conference_Location
Florence
Type
conf
DOI
10.1109/ICSE.2015.260
Filename
7203081
Link To Document