  Modern web applications often resort to application development frameworks
such as React, Vue.js, and Angular. While the frameworks facilitate the
development of web applications with several useful components, they are
inevitably vulnerable to unmanaged memory consumption since the frameworks
often produce Single Page Applications (SPAs). Web applications can be alive
for hours and days with behavior loops, in such cases, even a single memory
leak in a SPA app can cause performance degradation on the client side.
However, recent debugging techniques for web applications still focus on memory
leak detection, which requires manual tasks and produces imprecise results.
  We propose LeakPair, a technique to repair memory leaks in single page
applications. Given the insight that memory leaks are mostly non-functional
bugs and fixing them might not change the behavior of an application, the
technique is designed to proactively generate patches to fix memory leaks,
without leak detection, which is often heavy and tedious. To generate effective
patches, LeakPair follows the idea of pattern-based program repair since the
automated repair strategy shows successful results in many recent studies. We
evaluate the technique on more than 20 open-source projects without using
explicit leak detection. The patches generated by our technique are also
submitted to the projects as pull requests. The results show that LeakPair can
generate effective patches to reduce memory consumption that are acceptable to
developers. In addition, we execute the test suites given by the projects after
applying the patches, and it turns out that the patches do not cause any
functionality breakage; this might imply that LeakPair can generate
non-intrusive patches for memory leaks.

Software Engineering;Cryptography and Security