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

12/16/2022
by   Aymeric Blot, et al.
0

Performance is a key quality of modern software. Although recent years have seen a spike in research on automated improvement of software's execution time, energy, memory consumption, etc., there is a noticeable lack of standard benchmarks for such work. It is also unclear how such benchmarks are representative of current software. Furthermore, frequently non-functional properties of software are targeted for improvement one-at-a-time, neglecting potential negative impact on other properties. In order to facilitate more research on automated improvement of non-functional properties of software, we conducted a survey gathering benchmarks used in previous work. We considered 5 major online repositories of software engineering work: ACM Digital Library, IEEE Xplore, Scopus, Google Scholar, and ArXiV. We gathered 5000 publications (3749 unique), which were systematically reviewed to identify work that empirically improves non-functional properties of software. We identified 386 relevant papers. We find that execution time is the most frequently targeted property for improvement (in 62 rarely considered (5 with exploratory approaches (evolutionary in 18 papers) increasingly popular in the last 10 years. Only 40 describe work that uses benchmark suites, rather than single software, of those SPEC is most popular (covered in 33 papers). We also provide recommendations for choice of benchmarks in future work, noting, e.g., lack of work that covers Python or JavaScript. We provide all programs found in the 386 papers on our dedicated webpage at https://bloa.github.io/nfunc_survey/ We hope that this effort will facilitate more research on the topic of automated improvement of software's non-functional properties.

READ FULL TEXT
research
01/22/2020

Search-Based Software Engineering for Self-Adaptive Systems: One Survey, Five Disappointments and Six Opportunities

Search-Based Software Engineering (SBSE) is a promising paradigm that ex...
research
06/27/2019

The State and Future of Genetic Improvement

We report the discussion session at the sixth international Genetic Impr...
research
08/22/2023

Multi-Objective Improvement of Android Applications

Non-functional properties, such as runtime or memory use, are important ...
research
06/07/2019

Learning Software Configuration Spaces: A Systematic Literature Review

Most modern software systems (operating systems like Linux or Android, W...
research
09/09/2022

Pitfalls and Guidelines for Using Time-Based Git Data

Many software engineering research papers rely on time-based data (e.g.,...
research
04/14/2020

Towards Realistic Optimization Benchmarks: A Questionnaire on the Properties of Real-World Problems

Benchmarks are a useful tool for empirical performance comparisons. Howe...
research
07/05/2023

Incremental Model Transformations with Triple Graph Grammars for Multi-version Models

Like conventional software projects, projects in model-driven software e...

Please sign up or login with your details

Forgot password? Click here to reset