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

MaxSAT-Based Misbehaviour Verification and Localisation Framework for Python

Objective

Debugging remains one of the most costly and time-consuming phases of software development. Formula-based fault localisation (FBFL), which leverages bounded model checking and logical reasoning through Maximum Satisfiability (MaxSAT), to identify faulty program statements, has shown strong potential for languages such as C, but remains under-explored for Python, which is the dominant language in artificial intelligence, data science, and education.

The aim of this project is to design and implement Sherlock4Py, a MaxSAT-based misbehaviour verification and localisation framework for Python. First, Sherlock4Py will implement FBFL to Python by incorporating bounded model checking with ESBMC-Python, and will develop scalable MaxSAT algorithms tailored to program-derived formulas. These algorithms will exploit structural features of Python, such as loop iterations and branching constructs, to achieve greater scalability and more precise diagnoses than existing approaches. Second, Sherlock4Py will demonstrate the synergy between FBFL and Large Language Models (LLMs) by embedding MaxSAT-based bug localisation into counterexample-guided inductive synthesis (CEGIS) loops, thereby enabling LLMs to synthesise and repair faulty Python programs more reliably, with greater accuracy and efficiency.

By bridging Automated Reasoning and Machine Learning, Sherlock4Py will advance the state of the art in both MaxSAT-based fault localisation and trustworthy AI. The project is ambitious in delivering the first MaxSAT-based toolchain for Python, advancing MaxSAT algorithms with program-specific heuristics, and integrating symbolic verification with LLM-driven code synthesis. The expected outcome is a step change in software reliability, with direct benefits for AI research, software engineering practice, and computer science education.

Fields of science (EuroSciVoc)

CORDIS classifies projects with EuroSciVoc, a multilingual taxonomy of fields of science, through a semi-automatic process based on NLP techniques. See: The European Science Vocabulary.

You need to log in or register to use this function

Keywords

Project’s keywords as indicated by the project coordinator. Not to be confused with the EuroSciVoc taxonomy (Fields of science)

Programme(s)

Multi-annual funding programmes that define the EU’s priorities for research and innovation.

Topic(s)

Calls for proposals are divided into topics. A topic defines a specific subject or area for which applicants can submit proposals. The description of a topic comprises its specific scope and the expected impact of the funded project.

Funding Scheme

Funding scheme (or “Type of Action”) inside a programme with common features. It specifies: the scope of what is funded; the reimbursement rate; specific evaluation criteria to qualify for funding; and the use of simplified forms of costs like lump sums.

HORIZON-TMA-MSCA-PF-EF - HORIZON TMA MSCA Postdoctoral Fellowships - European Fellowships

See all projects funded under this funding scheme

Call for proposal

Procedure for inviting applicants to submit project proposals, with the aim of receiving EU funding.

(opens in new window) HORIZON-MSCA-2025-PF

See all projects funded under this call

Coordinator

AGENCIA ESTATAL CONSEJO SUPERIOR DE INVESTIGACIONES CIENTIFICAS
Net EU contribution

Net EU financial contribution. The sum of money that the participant receives, deducted by the EU contribution to its linked third party. It considers the distribution of the EU financial contribution between direct beneficiaries of the project and other types of participants, like third-party participants.

€ 194 074,56
Address
CALLE SERRANO 117
28006 MADRID
Spain

See on map

Region
Comunidad de Madrid Comunidad de Madrid Madrid
Activity type
Research Organisations
Links
Total cost

The total costs incurred by this organisation to participate in the project, including direct and indirect costs. This amount is a subset of the overall project budget.

No data
My booklet 0 0