Skip to main content
Go to the home page of the European Commission (opens in new window)
English en
CORDIS - EU research results
CORDIS

Self-Optimizing Static Program Analysis

Project description

Self-aware and self-optimising static program analysis improves code development

In contrast to dynamic program analysis done while a program is being executed, static program analysis is used to identify potential problems before code is deployed. This can efficiently analyse individual and smaller subprograms to ensure they are correctly written before integrating and running them in a larger program. However, poorly adapted analyses can produce false warnings or require long times, slowing down program development rather than efficiently expediting it. The ERC-funded SOSA project aims to develop the first example of self-aware and self-optimising static program analysis that will continuously analyse and optimise not only the tested programs but the analysis itself. This should minimise false warnings and analysis time automatically.

Objective

Software systems pervade our personal and professional lives, yet their insecurity threaten our society. To assure that software systems are dependable and secure, one must reason about their code. Static program analysis enables such reasoning. It can be applied to individual software components, and it can show not only the presence but also prove the absence of bugs and vulnerabilities. Yet, to be useful to software developers, static analyses must be adapted to the context in which they are used. Studies show that poorly adapted analyses slow down rather than assist development. They report large sets of false warnings that distract developers from actual bugs, which the analyses often miss. They often run so long that results are reported when they are already outdated. SOSA’s main research hypothesis is that one can generate precise and efficient static analyses of software systems by making static analysis self-aware and self-optimizing. With SOSA, a static analysis conducts analyses and optimizations not just of programs but of itself. This is a groundbreaking paradigm shift: no previous research has regarded complex program analyses themselves as the primary object of automated analysis and optimization. SOSA will introduce, for the first time, static analyses whose execution is not pre-defined by their creators but is inherently self-adaptive. In result, analyses automatically adapt themselves to yield a performance/precision tradeoff that is optimal with respect to how the analysis is deployed and which program it analyzes. With SOSA, static analyses will report true and relevant warnings at minimal analysis time without requiring manual optimizations by end users. SOSA will boost progress in the field of program-analysis research, mapping the landscape of static-analysis optimizations and how and where they are best applied. By enabling software developers to optimally deploy static analyses with ease, SOSA will help secure millions of software systems.

Fields of science (EuroSciVoc)

Keywords

Programme(s)

Topic(s)

Funding Scheme

HORIZON-ERC - HORIZON ERC Grants

See all projects funded under this funding scheme

Call for proposal

(opens in new window) ERC-2023-ADG

See all projects funded under this call

Host institution

UNIVERSITAET PADERBORN
Net EU contribution
€ 2 500 000,00
Address
WARBURGER STRASSE 100
33098 Paderborn
Germany
Region
Nordrhein-Westfalen Detmold Paderborn
Activity type
Higher or Secondary Education Establishments
Links
Total cost
€ 2 500 000,00

Beneficiaries (1)