Felber, Lukas (2010) ReDHead - Refactor Dependencies of C/C++ Header Files. Masters thesis, HSR Hochschule für Technik Rapperswil.
Masterarbeit_Lukas_Felber.pdf - Supplemental Material
Download (5MB) | Preview
Abstract
Task: Even though C + + is one of the most widespread programming languages and is used in many different areas very effectively, C++ IDEs only have limited support for features fostering agile development. Such features, for example refactoring, have been made popular by Java's IDEs, most notably Eclipse's Java Development Tools (JDT), and are considered a must-have feature of an IDE by many developers today. At HSR's Institute for Software, several improvements to Eclipse's C/C++ Development Tooling (CDT) have been developed, and this work continues that tradition.
In the scope of this master thesis, the ReDHead tool was developed, adding the ability to optimize header dependencies of C + + programs in CDT. ReDHead's features provide functionality to statically analyze the include dependencies of C + + files and provide suggestions on how the include structure of a C + + software project can be optimized.The aim of these optimizations is to (1) improve code quality, (2) reduce code coupling, (3) lower compile-time and (4) improve the speed of the development. Existing C++ projects often span millions of lines of code distributed over hundreds of files. Long-living projects tend to develop a complex net of include dependencies leading to an unmanageable physical architecture of the system. As a side effect of huge coupling and often unnecessary parts not being removed, compile times rise significantly. Hence, the possibility to approach such design issues supported by an automated static include analysis tool is a crucial advantage.
This is a list of features that the ReDHead tool provides: - Organize / Optimize includes
- Find unused includes
- Directly include referenced files
- Find unused files Static code coverage
Item Type: | Thesis (Masters) |
---|---|
Subjects: | Area of Application > Development Tools Technologies > Frameworks and Libraries > Eclipse Metatags > IFS (Institute for Software) |
Divisions: | Master of Science in Engineering (MRU Software and Systems) |
Depositing User: | OST Deposit User |
Contributors: | Contribution Name Email Thesis advisor Sommerlad, Peter UNSPECIFIED Thesis advisor Botzler, Martin UNSPECIFIED |
Date Deposited: | 21 Jun 2013 08:37 |
Last Modified: | 16 Jul 2013 07:42 |
URI: | https://eprints.ost.ch/id/eprint/284 |