TUM Logo

Making incomplete code compilable

Making incomplete code compilable

Supervisor(s): Florian Wendland, Hannah Wester
Status: finished
Topic: Others
Author: Fabian Braun
Submission: 2021-10-15
Type of Thesis: Bachelorthesis
Thesis topic in co-operation with the Fraunhofer Institute for Applied and Integrated Security AISEC, Garching

Description

 
The context-sensitivity of the language C++ makes semantic checks necessary to ensure
the correctness of a program. Moreover, some C++ constructs use the same syntax and can
only be distinguished by additional semantic checks. This makes it difficult to parse C++ code.
Occasionally, however, files of a program and with them important pieces of code are
not available. Thus the required semantic information is incomplete and the program cannot
be compiled. Since tools for further evaluation and static analysis of code usually require
compiled programs, utilizing such tools becomes difficult in these incomplete cases.
In this work it is shown how a program with missing semantic information can be parsed
as well as how ambiguous cases can be resolved.