Opis projektu
Wykrywanie błędów przed wykonaniem kodu – skalowalne podejście do analizy statycznej
Programy komputerowe towarzyszą nam na każdym kroku, charakteryzują się coraz większą złożonością, a w dodatku są w coraz większym stopniu dostosowane do potrzeb indywidualnych rozwiązań. Pomimo starannego planowania i wykrywania błędów w kodzie w miarę dodawania kolejnych funkcji i procesów, bezbłędne oprogramowanie pozostaje wyłącznie teorią, a istniejące błędy mogą być niezwykle trudne do wykrycia i skutecznego wyeliminowania. W wielu przypadkach są dostrzegane dopiero po kompilacji i uruchomieniu kodu – w efekcie próba znalezienia przyczyny błędów przypomina poszukiwanie igły w stogu siana. Zespół finansowanego ze środków Europejskiej Rady ds. Badań Naukowych projektu MOPSA wykorzysta analizę statyczną kodu, która umożliwia usuwanie błędów poprzez bezpośrednią analizę kodu źródłowego przed jego wykonaniem. Zespół zadba o skalowalność i pełną skuteczność metod oraz rozszerzy ich zastosowanie na większe, bardziej złożone i heterogeniczne oprogramowanie, dzięki czemu nowa technika będzie mogła być wykorzystana w wielu nowych kontekstach.
Cel
The Mopsa project aims at creating methods and tools to make computer software more reliable.
Programming errors are pervasive with results ranging from user frustration to huge economical or human losses. Traditional test-based methods are insufficient to eliminate all errors. The project will develop static analyses able to detect at compile-time whole classes of program defects, leveraging the theory of abstract interpretation to design analyses that are approximate (to scale up to large programs) and sound (no defect is missed). Static analysis has enjoyed recent successes: Astrée, an industrial analyzer I have coauthored, was able to prove the absence of run-time error in Airbus software. But such results are limited to the specific, well-controlled context of critical embedded systems. I wish to bring static analysis to the next level: target larger, more complex and heterogeneous software, and make it usable by engineers to improve general-purpose software.
We focus on analyzing open-source software which are readily available, complex, widespread, and important from an economical standpoint (they are used in many infrastructures and companies) but also societal and educational ones (promoting the development of verified software for and by citizens). A major target we consider is the set of technologies at the core on Internet on which static analysis could be applied to ensure a safer Internet. The scientific challenges we must overcome include designing scalable analyses producing relevant information, supporting novel popular languages (such as Python), analyzing properties more adapted to the continuous development of software common in open-source. At the core of the project is the construction of an open-source static analysis platform. It will serve not only to implement and evaluate the results of the project, but also create a momentum encouraging the research in static analysis and hasten its adoption in open-source development communities.
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.
- nauki przyrodniczematematykamatematyka czystaalgebraalgebra liniowa
- nauki przyrodniczeinformatykainternet
- nauki społecznesocjologiastosunki przemysłoweautomatyzacja
- nauki przyrodniczeinformatykaoprogramowanietworzenie oprogramowania
Aby użyć tej funkcji, musisz się zalogować lub zarejestrować
Program(-y)
Temat(-y)
System finansowania
ERC-COG - Consolidator GrantInstytucja przyjmująca
75006 Paris
Francja