Safe C++ Guidelines Checkers und Quick Fixes

Bertschi, Pascal and Deicha, Andreas (2018) Safe C++ Guidelines Checkers und Quick Fixes. Student Research Project thesis, HSR Hochschule für Technik Rapperswil.

[img]
Preview
Text
FS 2018-SA-EP-Bertschi-Deicha-Safe C++ Guidelines Checkers und Quick Fixes.pdf - Supplemental Material

Download (2MB) | Preview

Abstract

Introduction Cevelop is a C++ Integrated Development Environment based on Eclipse developed by IFS Institute for Software at HSR. In previous projects students designed and created various plug-ins for Cevelop with static analysis covering rules from the C++ Core Guidelines. Other guidelines share similar rules that overlap. Implementing static analysis for additional guidelines requires duplicated effort, using them causes multiple warnings on the same code and confuses C++ developers following such guidelines. Objective The objective of our work is to implement a prioritization system across multiple sets of C++ Guidelines. The developer should enable one or more guidelines and their relative priority. These configurations should be available from the Eclipse preference menu. Our plug-in should make extending Cevelop with more guidelines and rules quicker and safer. Therefore our plug-in provides common infrastructure shared across guideline checkers and the ability to integrate multiple guideline's rules. Result We developed an Eclipse plug-in acting as a managing instance for other C++ guideline plug-ins providing static analysis and quick-fixes. We validated our concept by porting/implementing rules from AUTOSAR C++, MISRA C++, and the C++ Core Guidelines. The checking and fixing of eight rules was already implemented by an existing Core Guidelines plug-in and refactored to match identical rules from AUTOSAR and MISRA where applicable and to use our new infrastructure. We implemented a guideline preference page to configure available guidelines. We ran two usability test rounds and improved our plug-in accordingly. We provide a help page in Cevelop in assisting novice users in configuring guideline settings, also available as a separate user manual in our project report. We implemented a guideline preference page to configure all available guidelines. We ran two usability test rounds and improved it. We implemented a help page in Cevelop in order to help the user to understand how to configure guideline settings. We wrote a user and developer manual. The user manual contains the same content as the help page mentioned above and explains how to deal with our plug-in. How to add rules or a completely new plug-in is explained in the developer manual. In order to write the developer manual, we implemented a new MISRA rule used as an example to demonstrate the application of our new infrastructure.

Item Type: Thesis (Student Research Project)
Subjects: Area of Application > Development Tools
Technologies > Programming Languages > C++
Metatags > IFS (Institute for Software)
Divisions: Bachelor of Science FHO in Informatik > Student Research Project
Creators:
CreatorsEmail
Bertschi, PascalUNSPECIFIED
Deicha, AndreasUNSPECIFIED
Contributors:
ContributionNameEmail
Thesis advisorSommerlad, PeterUNSPECIFIED
Depositing User: HSR Deposit User
Date Deposited: 31 Jan 2019 11:50
Last Modified: 31 Jan 2019 11:50
URI: http://eprints.hsr.ch/id/eprint/701

Actions (login required)

View Item View Item