• 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