Bernehed, Aiko (2022) Include-Analysis for C++ Source Code. Bachelor's, Heinrich-Heine-Universität Düsseldorf.
PDF
791kB |
Abstract
The C++ programming language is highly versatile and leaves many aspects of code organization to programmers, but provides functionality for code separation into source and header files. As projects have grown larger in size and C++ has found its way into critical infrastructure, the community has started developing a host of best-practice guidelines for code organization. Since these are not programmatically enforced during development, static include analysis is an excellent tool for checking programmers adherence to these self-imposed guidelines. In this work, the Axivion Suite by the Axivion GmbH is used to develop a set of rules that enforce a number of guidelines as they may be encountered in real-world applications. The Axivion Suite uses a proprietary compiler to gather analysis data on existing C++ source code of a given project. The rules presented here are enforced by running specially developed Python scripts on the analysis data generated by the Axivion compiler. Finally, the entire set of rules is used to analyze an existing application, "Notepad++", and the results are compared to Axivion's proprietary rules, gathered under the name of Generic stylechecks. "Notepad++" consists of a core program and the Scintilla and Boost libraries, all three of which exhibit a host of different issues. Overall, the rules developed here uncover 3,673 and Axivion's rules 3,890 violations. The minutiae of these results are discussed and final conclusions about this work and Axivion's implementation drawn.
Item URL in elib: | https://elib.dlr.de/186054/ | ||||||||
---|---|---|---|---|---|---|---|---|---|
Document Type: | Thesis (Bachelor's) | ||||||||
Title: | Include-Analysis for C++ Source Code | ||||||||
Authors: |
| ||||||||
Date: | 5 April 2022 | ||||||||
Refereed publication: | No | ||||||||
Open Access: | Yes | ||||||||
Status: | Published | ||||||||
Keywords: | C++ Static Analysis Programmiertechniken Source Code Analysis | ||||||||
Institution: | Heinrich-Heine-Universität Düsseldorf | ||||||||
Department: | Softwaretechnik und Programmiersprachen | ||||||||
HGF - Research field: | Energy | ||||||||
HGF - Program: | Materials and Technologies for the Energy Transition | ||||||||
HGF - Program Themes: | High-Temperature Thermal Technologies | ||||||||
DLR - Research area: | Energy | ||||||||
DLR - Program: | E SW - Solar and Wind Energy | ||||||||
DLR - Research theme (Project): | E - Smart Operation | ||||||||
Location: | Jülich | ||||||||
Institutes and Institutions: | Institute of Solar Research > Solar Power Plant Technology | ||||||||
Deposited By: | Bernehed, Aiko | ||||||||
Deposited On: | 29 Sep 2022 12:33 | ||||||||
Last Modified: | 14 Oct 2022 12:43 |
Repository Staff Only: item control page