Skip to main content
European Commission logo
English English
CORDIS - EU research results
CORDIS

Symbol Elimination in Reliable System Engineering

Periodic Reporting for period 1 - SYMELS (Symbol Elimination in Reliable System Engineering)

Reporting period: 2019-06-01 to 2020-11-30

We are living in a world that is increasingly run by software. Daily activities, such as online banking, mobile communications
and air traffic use, are controlled by software. This software is growing in size and functionality, but its reliability is hardly
improving. We are getting used to the fact that that computer systems are error-prone and insecure. To (re)gain the trust of
end-users in software and Web services, formal automated reasoning is one of the main investments made by ICT
companies in preventing software errors. To improve in this area, one should answer some important questions, such as

- Which methods in automated reasoning are the most appropriate for proving software error-free?
- What needs to be done to apply research in automated reasoning to large-scale code bases?

Our SYMELS project provides answers to these questions by bringing our symbol elimination method in automated reasoning to the ICT market. The
key innovation brought by SYMELS is the ability to both generate and prove first-order properties of software that
prevent programmers from introducing errors while making changes in this software. The SYMELS results show that symbol
elimination can indeed be a breakthrough method in automating computer-supported reasoning about software systems. In particular,
when testing programs manipulating computer memory SYMELS proved that over 80% of test cases are guaranteed to have the expected behaviour. Moreover,
SYMELS automated the analysis and verification of over 40% examples in system security that so far could not be handled by existing approaches.
Our proof of concept demonstrates that no other method can reason about such properties with the same accuracy and
expressiveness as SYMELS. We believe SYMELS gives ICT customers and investors a tool-supported
methodology for ensuring continuous growth in software functionality, thus increasing software reliability and user's trust in
software technologies.