Constificator

Gächter, Benny and Morgner, Felix (2015) Constificator. Student Research Project thesis, HSR Hochschule für Technik Rapperswil.

[thumbnail of Thesis.pdf]
Preview
Text
Thesis.pdf - Supplemental Material

Download (1MB) | Preview

Abstract

Const is a substantial part of the C++ programming language but is often used inconsistent or not at all. A proper use of const is not just a matter of good programming style it makes the code more readable and prevents erroneous use. The goal of this thesis is to develop an Eclipse plug-in based on CDT and CODAN to help programmers place the keyword at the right position.
To determine whether a specifier can be const, static code analysis is required. To break down the complexity, the analysis is split into three different categories: local variables, function parameters, and class members. To enable an automatic and correct placement of const, in addition to the plug-in, a patch of CDT is necessary, because CDT does not support writing const on the right-hand side of the declaration specifier.
The result of this thesis is a plug-in that can be integrated and distributed with Cevelop and code for the const placement that can be committed into CDT. The plug-in marks specifiers that can be declared const and offers a quick-fix or for multiple line changes a change dialog. In addition to those markers there are informational markers for specifiers for which the constificator plug-in can not determine const qualification with absolute certainty.

Item Type: Thesis (Student Research Project)
Subjects: Topics > Software > Refactoring
Topics > Software > Optimization
Area of Application > Development Tools
Technologies > Programming Languages > C++
Metatags > IFS (Institute for Software)
Divisions: Bachelor of Science FHO in Informatik > Student Research Project
Depositing User: OST Deposit User
Contributors:
Contribution
Name
Email
Thesis advisor
Sommerlad, Peter
UNSPECIFIED
Date Deposited: 17 Mar 2016 08:50
Last Modified: 17 Mar 2016 08:50
URI: https://eprints.ost.ch/id/eprint/481

Actions (login required)

View Item
View Item