Thesis (Selection of subject)Thesis (Selection of subject)(version: 368)
Thesis details
   Login via CAS
Systém pre introšpekciu v C++
Thesis title in thesis language (Slovak): Systém pre introšpekciu v C++
Thesis title in Czech: Systém pro introspekci v C++
Thesis title in English: A system for introspection in C++
Key words: introšpekcia|C++|analýza zdrojových textov
English key words: introspection|C++|source-code analysis
Academic year of topic announcement: 2020/2021
Thesis type: Bachelor's thesis
Thesis language: slovenština
Department: Department of Software Engineering (32-KSI)
Supervisor: RNDr. David Bednárek, Ph.D.
Author: hidden - assigned and confirmed by the Study Dept.
Date of registration: 11.04.2021
Date of assignment: 12.04.2021
Confirmed by Study dept. on: 20.04.2021
Date and time of defence: 10.09.2021 09:00
Date of electronic submission:22.07.2021
Date of submission of printed version:22.07.2021
Date of proceeded defence: 10.09.2021
Opponents: Mgr. Pavel Ježek, Ph.D.
 
 
 
Guidelines

Introspection and reflection are powerful tools that allow generic implementation of problematic design patterns like double dispatch or serialization/deserialization. In C++, the support for introspection is seriously limited and confined to compile time while reflection is virtually non-existent. However, compiler-based tools like clang/LLVM allow programmatical extraction of language elements from C++ source files which in turn may enable run-time introspection.

The goal of this thesis is the design and implementation of an introspection library, based on the addition of meta-data extracted from C++ source files by a compiler-based tool. The functionality of the system shall be demonstrated by the implementation of a selected design pattern which is not implementable in plain C++.
References
de Bayser M., Cerqueira R. (2012) A System for Runtime Type Introspection in C++. In: de Carvalho Junior F.H., Barbosa L.S. (eds) Programming Languages. SBLP 2012. Lecture Notes in Computer Science, vol 7554. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-33182-4_9

Bräutigam K. (2015) Expedient logging for C++ using reflection. Diploma Thesis, TU Wien. http://hdl.handle.net/20.500.12708/4675

Loikkanen T. (2019) Property systems in graphics frameworks. Bachelor Thesis, Tampere University. http://urn.fi/URN:NBN:fi:tty-201905311788
 
Charles University | Information system of Charles University | http://www.cuni.cz/UKEN-329.html