Understanding and detecting real-world performance bugs
Developers frequently use inefficient code sequences that could be fixed by simple patches.
These inefficient code sequences can cause significant performance degradation and …
These inefficient code sequences can cause significant performance degradation and …
Effective program debloating via reinforcement learning
Prevalent software engineering practices such as code reuse and the" one-size-fits-all"
methodology have contributed to significant and widespread increases in the size and …
methodology have contributed to significant and widespread increases in the size and …
Toddler: Detecting performance problems via similar memory-access patterns
Performance bugs are programming errors that create significant performance degradation.
While developers often use automated oracles for detecting functional bugs, detecting …
While developers often use automated oracles for detecting functional bugs, detecting …
Yak: A {High-Performance}{Big-Data-Friendly} Garbage Collector
Most “Big Data” systems are written in managed languages, such as Java, C#, or Scala.
These systems suffer from severe memory problems due to the massive volume of objects …
These systems suffer from severe memory problems due to the massive volume of objects …
Discovering, reporting, and fixing performance bugs
Software performance is critical for how users perceive the quality of software products.
Performance bugs-programming errors that cause significant performance degradation-lead …
Performance bugs-programming errors that cause significant performance degradation-lead …
Precise memory leak detection for Java software using container profiling
A memory leak in a Java program occurs when object references that are no longer needed
are unnecessarily maintained. Such leaks are difficult to detect because static analysis …
are unnecessarily maintained. Such leaks are difficult to detect because static analysis …
Static detection of asymptotic performance bugs in collection traversals
This paper identifies and formalizes a prevalent class of asymptotic performance bugs called
redundant traversal bugs and presents a novel static analysis for automatically detecting …
redundant traversal bugs and presents a novel static analysis for automatically detecting …
Facade: A compiler and runtime for (almost) object-bounded big data applications
The past decade has witnessed the increasing demands on data-driven business
intelligence that led to the proliferation of data-intensive applications. A managed object …
intelligence that led to the proliferation of data-intensive applications. A managed object …
Jshrink: In-depth investigation into debloating modern java applications
Modern software is bloated. Demand for new functionality has led developers to include
more and more features, many of which become unneeded or unused as software evolves …
more and more features, many of which become unneeded or unused as software evolves …
Algorithmic profiling
D Zaparanuks, M Hauswirth - Proceedings of the 33rd ACM SIGPLAN …, 2012 - dl.acm.org
Traditional profilers identify where a program spends most of its resources. They do not
provide information about why the program spends those resources or about how resource …
provide information about why the program spends those resources or about how resource …