ReDHead - Refactor Dependencies of C/C++ Header Files

Felber, Lukas (2010) ReDHead - Refactor Dependencies of C/C++ Header Files. Masters thesis, HSR Hochschule für Technik Rapperswil.

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

Download (5MB) | Preview


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: HSR Deposit User
Thesis advisor
Sommerlad, Peter
Thesis advisor
Botzler, Martin
Date Deposited: 21 Jun 2013 08:37
Last Modified: 16 Jul 2013 07:42

Actions (login required)

View Item
View Item