CTriPio: Developing an Intermediate Representation of C code in Trieste for Static Analysis
2024 (English)Independent thesis Basic level (degree of Bachelor), 10 credits / 15 HE credits
Student thesis
Abstract [en]
Semantic errors in code can be difficult and frustrating to deal with, especially for inexperienced programmers. Help can be provided by identifying these errors through static analysis and notify the programmer of them. The long term goal of this project is to develop such a tool that can help beginners by detecting errors in their code through static analysis. In order to perform static analysis, a format for reasoning about the code's semantics is required. Thus, this thesis project implements a parser that builds a logical structure of source code, written in a subset of the C programming language, which can be used for static analysis. The tool has been implemented in Trieste, a domain-specific language for tree rewriting, embedded in C++. It is a first step in developing a more rigorous static analyser that detects possible semantic errors. The purpose of this thesis is threefold: it marks the beginning of an implementation of a static analyser, evaluates its progress thus far and is a start of an assessment of Trieste itself.
Place, publisher, year, edition, pages
2024.
Series
IT ; kDV 24 024
Keywords [en]
Parser Implementation, Tree Rewriting, C Programming Language, Static Analysis
National Category
Computer Sciences
Identifiers
URN: urn:nbn:se:uu:diva-536645OAI: oai:DiVA.org:uu-536645DiVA, id: diva2:1891513
Educational program
Bachelor Programme in Computer Science
Supervisors
Examiners
2024-08-232024-08-222024-08-23Bibliographically approved