RECHARGE: monitoRing, tEsting, and CHaracterization of performAnce Regressions

A framework that leverages static analysis and search-based algorithms for automating performance testing in CI/CD pipelines.

Modern software systems are heterogeneous and they feature different non-functional requirements. For example, smartphones have limited battery life and require software optimized to reduce energy consumption. Still, embedded systems often come with performance-critical requirements specifying precise time windows in which a task must be executed. Nevertheless, most issues reported during software testing are related to software crashes or incorrect system responses, while performance problems are often neglected. This aspect is even more relevant in Continuous Integration and Deployment (CI/CD), where software is re-deployed on a dedicated infrastructure every time a change is pushed.

Automated performance testing in CI/CD is still an open issue. This RECHARGE project proposes a novel framework for automating performance testing in CI/CD pipelines by leveraging static analysis and search-based algorithms.

RECHARGE will be based on three main pillars:

  • Automated Performance Monitoring
    Combine CI/CD, regression testing optimization, and static analysis to monitor software performance over time in a scalable and efficient manner.

  • Automated Performance Test Co-Generation
    Integrate tests crafted by developers and AI to generate effective performance tests to find regressions over time.

  • Automated Analysis of the Root Causes behind Performance Regressions
    Extract and analyze the change patterns that lead to performance regressions. The obtained patterns will allow for analyzing the root causes behind performance regressions and finding novel solutions to prevent and fix them.

The research and development activities in RECHARGE will feature concrete use cases, including many open-source systems and an industrial case study featuring a partner involved in performance analysis.

Participating institutions

Funding

RECHARGE is funded by the Italian Government (Ministero dell’Università e della Ricerca, Bando PRIN 2022 PNRR: PE6 - Computer Science and Informatics), Decreto Direttoriale n. 1205 del 28-7-2023.

Open calls

The project is currently looking for a postdoctoral fellow.

Vittorio Cortellessa
Vittorio Cortellessa
Full Professor

My main research interests are in the areas of Software Performance, Software Reliability, and Model-Driven Engineering.