A Comprehensive Survey of Benchmarks for Improvement of Software's Non-Functional Properties

A Blot, J Petke - ACM Computing Surveys, 2025 - dl.acm.org
Despite recent increase in research on improvement of non-functional properties of
software, such as energy usage or program size, there is a lack of standard benchmarks for …

Caramel: Detecting and fixing performance problems that have non-intrusive fixes

A Nistor, PC Chang, C Radoi… - 2015 IEEE/ACM 37th IEEE …, 2015 - ieeexplore.ieee.org
Performance bugs are programming errors that slow down program execution. While
existing techniques can detect various types of performance bugs, a crucial and practical …

Discovering, reporting, and fixing performance bugs

A Nistor, T Jiang, L Tan - 2013 10th working conference on …, 2013 - ieeexplore.ieee.org
Software performance is critical for how users perceive the quality of software products.
Performance bugs-programming errors that cause significant performance degradation-lead …

Understanding performance problems in deep learning systems

J Cao, B Chen, C Sun, L Hu, S Wu, X Peng - Proceedings of the 30th …, 2022 - dl.acm.org
Deep learning (DL) has been widely applied to many domains. Unique challenges in
engineering DL systems are posed by the programming paradigm shift from traditional …

BinTrimmer: Towards Static Binary Debloating Through Abstract Interpretation

N Redini, R Wang, A Machiry, Y Shoshitaishvili… - Detection of Intrusions …, 2019 - Springer
The increasing complexity of modern programs motivates software engineers to often rely on
the support of third-party libraries. Although this practice allows application developers to …

Finding reusable data structures

G Xu - ACM SIGPLAN Notices, 2012 - dl.acm.org
A big source of run-time performance problems in large-scale, object-oriented applications
is the frequent creation of data structures (by the same allocation site) whose lifetimes are …

Coco: Sound and adaptive replacement of java collections

G Xu - European Conference on Object-Oriented …, 2013 - Springer
Inefficient use of Java containers is an important source of run-time inefficiencies in large
applications. This paper presents an application-level dynamic optimization technique …

Leakchecker: Practical static memory leak detection for managed languages

D Yan, G Xu, S Yang, A Rountev - Proceedings of Annual IEEE/ACM …, 2014 - dl.acm.org
Static detection of memory leaks in a managed language such as Java is attractive because
it does not rely on any leak-triggering inputs, allowing compile-time tools to find leaks before …

Resurrector: A tunable object lifetime profiling technique for optimizing real-world programs

G Xu - Proceedings of the 2013 ACM SIGPLAN international …, 2013 - dl.acm.org
Modern object-oriented applications commonly suffer from severe performance problems
that need to be optimized away for increased efficiency and user satisfaction. Many existing …

Directed test generation to detect loop inefficiencies

M Dhok, MK Ramanathan - Proceedings of the 2016 24th ACM SIGSOFT …, 2016 - dl.acm.org
Redundant traversal of loops in the context of other loops has been recently identified as a
source of performance bugs in many Java libraries. This has resulted in the design of static …