Opis projektu
Wkraczamy w erę niezawodnego, wolnego od błędów oprogramowania
W świecie, w którym wszystko, co robimy, w coraz większym stopniu zależy od oprogramowania, firmy informatyczne stają przed coraz większym wyzwaniem, jakim jest tworzenie oprogramowania, które już w swoim założeniu byłoby niezawodne i bezpieczne. W tym celu inwestują w formalne rozwiązania wnioskowania automatycznego. Finansowany ze środków UE projekt SYMELS powstał, aby wskazać te z technik automatycznego wnioskowania, wykorzystujących precyzyjne obliczenia matematyczne i rygorystyczną logikę, które będą najodpowiedniejsze do sprawdzania, czy oprogramowanie jest wolne od błędów. Drugim celem projektu będzie znalezienie sposobu zastosowania tych technik w wielkoskalowych bazach kodu. Rozwiązaniem tych problemów ma być nowa, opracowana podczas trwania projektu, metoda analizy programu: eliminacja symboli. Dzięki dowodzeniu twierdzeń pierwszego rzędu eliminacja symboli może zapobiec wprowadzaniu błędów podczas modyfikacji oprogramowania.
Cel
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 aims at answering these questions by bringing our symbol elimination method to the ICT market. The key innovation brought in by SYMELS is the ability to automatically generate and prove first-order properties of software that prevent programmers from introducing errors while making changes in this software. Our initial results show that symbol elimination can be a breakthrough method: e.g. when testing programs manipulating computer memory it was able to prove that over 80% of test cases are guaranteed to have the expected behavior. Most of these test problems were coming from industry, where similar proofs required very costly human work. Analyzing such programs requires reasoning about program properties in full first-order logic. No other method can reason about such properties with the same accuracy and expressiveness as SYMELS. For the proof-of-concept, 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.
Dziedzina nauki (EuroSciVoc)
Klasyfikacja projektów w serwisie CORDIS opiera się na wielojęzycznej taksonomii EuroSciVoc, obejmującej wszystkie dziedziny nauki, w oparciu o półautomatyczny proces bazujący na technikach przetwarzania języka naturalnego.
Klasyfikacja projektów w serwisie CORDIS opiera się na wielojęzycznej taksonomii EuroSciVoc, obejmującej wszystkie dziedziny nauki, w oparciu o półautomatyczny proces bazujący na technikach przetwarzania języka naturalnego.
Aby użyć tej funkcji, musisz się zalogować lub zarejestrować
Program(-y)
System finansowania
ERC-POC - Proof of Concept GrantInstytucja przyjmująca
1040 Wien
Austria