Fröhlich, André and Mollekopf, Christian (2012) C++11 Enhancements for Eclipse CDT. Student Research Project thesis, HSR Hochschule für Technik Rapperswil.
thesis.pdf - Supplemental Material
Download (4MB) | Preview
Abstract
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 |
Contributors: | Contribution Name Email Thesis advisor Sommerlad, Peter UNSPECIFIED |
Date Deposited: | 25 Mar 2013 14:17 |
Last Modified: | 25 Mar 2013 14:17 |
URI: | https://eprints.ost.ch/id/eprint/241 |