Instantaneous Performance Bug Detection in IDE

We propose an instantaneous technique to detect performance bugs in the IDE. It tracks program changes in the background, detects performance bugs, and displays and invalidates bug warnings and fixes, all happening in a blink. We develop a novel change-aware static race perf-bug detection algorithm that leverages a change-aware on-the-fly points-to analysis to compute only change-related information instead of the whole program, which is significantly more efficient than state-of-the-art techniques without change-aware points-to analysis for performance bug detection.

[1]  Shan Lu,et al.  CARAMEL: Detecting and Fixing Performance Problems That Have Non-Intrusive Fixes , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[2]  Yepang Liu,et al.  Characterizing and detecting performance bugs for smartphone applications , 2014, ICSE.

[3]  Shan Lu,et al.  Understanding and detecting real-world performance bugs , 2012, PLDI.

[4]  Yi Lu,et al.  An Incremental Points-to Analysis with CFL-Reachability , 2013, CC.

[5]  Barbara G. Ryder,et al.  An incremental flow- and context-sensitive pointer aliasing analysis , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[6]  C. R. Ramakrishnan,et al.  Incremental and demand-driven points-to analysis using logic programming , 2005, PPDP.

[7]  Isil Dillig,et al.  Static detection of asymptotic performance bugs in collection traversals , 2015, PLDI.

[8]  References , 1971 .

[9]  Shan Lu,et al.  Toddler: Detecting performance problems via similar memory-access patterns , 2013, 2013 35th International Conference on Software Engineering (ICSE).