C++11 Enhancements for Eclipse CDT

Fröhlich, André and Mollekopf, Christian (2012) C++11 Enhancements for Eclipse CDT. Student Research Project thesis, HSR Hochschule für Technik Rapperswil.

[thumbnail of thesis.pdf]
thesis.pdf - Supplemental Material

Download (4MB) | Preview


The aim of this project was to develop an Eclipse plug-in to help highlighting and fixing initialization issues in respect to the new C++11 brace-initializer syntax. The C++11 brace-initializer provides a uniform syntax for initialization, and is preferred in C++11 code over pre-C++11 initialization mechanisms such as copy-initialization or direct-initialization.
The developed Eclipse plug-in detects initialization issues and provides an automated quickfix, to make it as easy as possible to fix initialization issues. Besides detecting issues, the plug-in also ensures that no semantic changes are introduced by a quickfix, so the resulting code is equivalent.
The plug-in is written in Java, using Eclipse CDT’s Codan, which is a static code analysis framework for C++, providing an abstract syntax tree, that we traverse and modify to detect and fix the issues. To realize the Eclipse plug-in the existing quickfix-plug-in framework was used to ensure that the plug-in integrates well into eclipse and behaves as any other quickfix plug-in.
To enable efficient fixing of larger code-bases to C++11-initializations, an additional massrefactoring has been implemented. This functionality can be triggered from the usual refactoring menus, to fix either complete source files or even full projects.

Item Type: Thesis (Student Research Project)
Subjects: Topics > Software > Refactoring
Area of Application > Development Tools
Technologies > Programming Languages > Java
Technologies > Frameworks and Libraries > Eclipse
Divisions: Bachelor of Science FHO in Informatik > Student Research Project
Depositing User: OST Deposit User
Thesis advisor
Sommerlad, Peter
Date Deposited: 25 Mar 2013 14:17
Last Modified: 25 Mar 2013 14:17
URI: https://eprints.ost.ch/id/eprint/241

Actions (login required)

View Item
View Item