Thesis Details

Migrace zdrojových kódů pomocí dekompilace

Master's Thesis Student: Korec Tomáš Academic Year: 2013/2014 Supervisor: Zemek Petr, Ing.
English title
Source-Code Migration Using Decompilation

This thesis deals with source-code migration of high-level programming languages using decompilation. A migration tool developed within the thesis is built on top of the middle-end and back-end parts of Lissom project decompiler. Several compilers generating LLVM IR code from input languages are discussed. Compilers suitable for integration to the migration tool were chosen. Compiled LLVM IR code is an input of the decompiler's optimizing middle-end. The output from the migration tool is a code in the C language or Python-like language generated by the back-end of the decompiler. The input languages are Fortran and its dialects, C/C++/Objective-C/Objective-C++, and D. The thesis describes problems connected with migration of these languages, their solutions, and ways to improve quality and readability of the produced source code.


migration, source code, decompilation, Lissom, LLVM IR, Fortran, C/C++, D, Objective C

Degree Programme
Postponement of publication
The full text of the thesis will be published after 10 years
defended, grade A
20 June 2014
Hanáček Petr, doc. Dr. Ing. (DITS FIT BUT), předseda
Drábek Vladimír, doc. Ing., CSc. (DCSY FIT BUT), člen
Rogalewicz Adam, doc. Mgr., Ph.D. (DITS FIT BUT), člen
Ryšavý Ondřej, doc. Ing., Ph.D. (DIFS FIT BUT), člen
Steingartner William, Ing., Ph.D. (TUKE), člen
Zendulka Jaroslav, doc. Ing., CSc. (DIFS FIT BUT), člen
KOREC, Tomáš. Migrace zdrojových kódů pomocí dekompilace. Brno, 2014. Master's Thesis. Brno University of Technology, Faculty of Information Technology. 2014-06-20. Supervised by Zemek Petr. Available from:
    author = "Tom\'{a}\v{s} Korec",
    type = "Master's thesis",
    title = "Migrace zdrojov\'{y}ch k\'{o}d\r{u} pomoc\'{i} dekompilace",
    school = "Brno University of Technology, Faculty of Information Technology",
    year = 2014,
    location = "Brno, CZ",
    language = "czech",
    url = ""
Back to top