Programming languages are how human intentions are translated into machine instructions. One the one hand, we aim to make fundamental advances in how we can formalize and express these intentions to machines (mainly the focus of Ahman & Earnshaw & Nester); on the other hand, it is important to verify that machines reliably perform as expected, verifying their behavior (mainly the focus of Apinis & Vojdani).
Software failures are expensive. Advanced verification techniques, such as abstract interpretation, have been successful in ensuring software reliability in safety-critical domains, such as avionics and space. However, outside such industries, adoption of sound verification methods is hindered by complexity and usability challenges. This project aims to address these issues by increasing trust in automated verification tools while making them more accessible to developers.
The complexity of digital systems and the widespread use of artificial intelligence in all areas of life increase the need to ensure their correct functioning and security. Serious threats arise from software vulnerabilities, programming errors, unreliability of artificial intelligence, and malicious attacks, which can lead to privacy violations and the spread of misinformation.
The project has brought together research groups in data science (Kull & Vicente), cryptography (Lipmaa), and programming languages (Vojdani) to develop new methodologies for enhancing the reliability of digital solutions. The goal is to create a foundation for evidence-based approaches that ensure the correctness and security of digital systems. These methodologies include abstract semantics, automatic verification of software, verification of delegated computations, zero-knowledge proofs, and enhancing the reliability of artificial intelligence.
The BRIDGE project aims to integrate AI with proof assistants and mathematical data by creating and curating large-scale datasets and dependency graphs from formalized mathematics libraries. The team will develop AI-based tools to support the formalization and exploration of mathematical structures, proofs, and their interdependencies. These tools—including a recommendation system and user-guided discovery features—are expected to improve both accessibility and efficiency in mathematical reasoning.
We aim to promote the mass adoption of the results of our research. Thus, the most important deliverables of our work are publicly available open-source:
