Safe C++ Guidelines

Puselja, Viktor and Vlasek, Gabriel (2018) Safe C++ Guidelines. Student Research Project thesis, HSR Hochschule für Technik Rapperswil.

[img]
Preview
Text
HS 2018 2019-SA-EP-Vlasek-Puselja-Safe C++ Guidelines for Cevelop.pdf - Supplemental Material

Download (1MB) | Preview

Abstract

The AUTOSAR guidelines are a set of rules to help developers in the automobile industry write safe C++ code. In a previous project, the Eclipse plug-in CodeAnalysator was created. It offers an infrastructure to implement different guidelines by different corporations and organizations like AUTOSAR. Before we started the project, only a few rules were implemented as a proof of concept. Using this foundation, we created checkers for multiple rules from the AUTOSAR guidelines. These checkers perform static code analysis to mark C++ code that violates one of those rules. By analyzing C++ code, studying examples and standards we evaluated all possible cases that are relevant to the respective rule. We also examined the Abstract Syntax Tree to see how such problems can be identified. Some of the problems can be solved automatically through refactorings. For those problems we created quick fixes. These quick fixes offer the user to automatically manipulate the AST in order to turn a violating piece of code into a compliant one. Over the course of this project we created checkers for 25 rules, 12 of which we offer at least one quick fix for.

Item Type: Thesis (Student Research Project)
Subjects: Topics > Software > Optimization
Area of Application > Business oriented
Area of Application > Development Tools
Area of Application > Travel, Tourism, Transportation
Technologies > Programming Languages > C++
Divisions: Bachelor of Science FHO in Informatik > Student Research Project
Creators:
CreatorsEmail
Puselja, ViktorUNSPECIFIED
Vlasek, GabrielUNSPECIFIED
Contributors:
ContributionNameEmail
Thesis advisorSommerlad, PeterUNSPECIFIED
Depositing User: HSR Deposit User
Date Deposited: 26 Mar 2019 06:47
Last Modified: 26 Mar 2019 06:47
URI: http://eprints.hsr.ch/id/eprint/744

Actions (login required)

View Item View Item