Ing. Ondřej Guth, Ph.D.

Theses

Bachelor theses

Convertor between the dot language and LaTeX for automata

Author
Michal Peroutka
Year
2013
Type
Bachelor thesis
Supervisor
Ing. Ondřej Guth, Ph.D.

Approximate Covers of Strings

Author
Vendula Švastalová
Year
2021
Type
Bachelor thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Tomáš Pecka
Summary
This thesis builds upon recent findings of Kędzierski and Radoszewski who presented improved polynomial time algorithms for computing k-approximate covers of strings under Hamming, Levenshtein and weighted edit distance. These algorithms are thoroughly described providing explanations from different point of view. The algorithms are implemented and the problems they solve are inset into the context of other string regularities. The implementation is experimentally evaluated alongside with the description of the main implementation decisions.

Software Solution for Smart Electric Socket

Author
Tomáš Chládek
Year
2014
Type
Bachelor thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Miroslav Skrbek, Ph.D.

Information system for math contest organization

Author
Filip Sakala
Year
2015
Type
Bachelor thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Mgr. Petr Matyáš
Summary
The aim of this bachelor's thesis is to create an information system for the organization of a mathematics competition Riešky. After a thorough examination of the current state of the organization and analysis of the requirement specifications, an information system was designed as a web application within the Ruby on Rails framework using a MySQL database. The implemented web application was subsequently properly tested by unit tests, as well as the organizers themselves. The resultant information system was deployed to the server of the organization with the use of Phusion Passenger and Capistrano tools. The information system should facilitate and optimize the work of the organizers in the future.

KDE plasmoid for Twitter

Author
Marek Mařík
Year
2017
Type
Bachelor thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Jan Trávníček, Ph.D.
Summary
The aim of the thesis is to design, implement and test desktop client for the Twitter social network. This client is designed for desktop environment KDE Plasma 5 as a widget that is clipped to the computer desktop. Application directly on the desktop shows the latest notifications and posts from Twitter, allows to post statuses, send or display private messages. The result of this work is the application that has been properly tested.

Implementation of automata-based algorithms for searching enhanced covers

Author
Rajmund Hubert Hruška
Year
2020
Type
Bachelor thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Tomáš Pecka
Summary
The aim of this thesis is a description of automata algorithms for computing approximate enhanced covers and relaxed approximate enhanced covers and implementation of these algorithms to Algorithms Library Toolkit (ALT). Maximum number of errors, which is used as a metric of approximation, is computed under Hamming distance. The main idea behind these algorithms is deterministic suffix finite automaton constructed from nondeterministic suffix finite automaton by subset construction.

DET language IDE

Author
Toghrul Sultanzade
Year
2020
Type
Bachelor thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Jan Trávníček, Ph.D.
Summary
This thesis aims to design and develop an improved integrated development environment solution, which resolves problems and revises the capabilities of the existing proprietary Scripting Editor implementation. The Scripting Editor is used to develop and implement scripts, written in DET scripting language that is described in the thesis \cite{grankin_2019}. DET language has Java-like syntax with custom language extension into the variables and methods of java classes. The flaws of the previous implementation are approached in the prototype project, which is the subject of this thesis. The modern and contemporary approaches are used to develop support for the DET scripting language. The state of the art is presented alongside the favored methodology of the user input processing.

"Chronosite" - application for the timetable slots assigning

Author
Yaroslav Borovyk
Year
2023
Type
Bachelor thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Jan Trávníček, Ph.D.
Summary
The thesis provides analysis, design, implementation, and testing of a prototype application that assigns teachers to timetable slots based on their preferences. The tool consists of a server written in Java and web interfaces for admins and teachers, implemented using Thymeleaf. The purpose of the system is to receive preferred schedule options from teachers and generate possible schedules satisfying these options. The functional module's core part, a backtrackingtype algorithm, performs the parallel and asynchronous computation of timetables. The thesis begins with a general analysis of the problem, including its primary aspects, functional and non-functional requirements, use cases, investigation of existing solutions, and domain model. The subsequent chapters cover the prototype's design and implementation. Finally, the thesis finishes with concepts of future improvements based on handled user testing of the principal functionality.

KDE desktop time tracker integrated with Toggl service

Author
Anastasiya Kachan
Year
2019
Type
Bachelor thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Jan Trávníček, Ph.D.
Summary
The aim of the thesis is to design, implement and test the client for Toggl service, whose main feature is counting the time spent on every virtual desktop. The client is determined for users of the KDE desktop environment. Section Design is based on the analysis results of existing applications and on analysis of user requirements. Section Implementation describes technologies, which were used during program implementation. The client is tested with the classic testing methods and rated by users with the help of usability test.

KOS and Syllabus Plus Integration

Author
Jakub Dobrý
Year
2021
Type
Bachelor thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Daniel Dombek, Ph.D.
Summary
This bachelor thesis deals with the design, implementation, and testing of an application for data connection between the Study Information System KOS and the Scientia Syllabus Plus timetable software. It achieves its purpose through a graphical interface. It can display data from both systems and the differences between them. It also allows partial conversions at the level of individual items. The result of this work will be used by the faculty scheduler in creating the timetable at the Faculty of Information Technology.

Statistics of competitions organised by Czech tennis association

Author
Vojtěch Drška
Year
2022
Type
Bachelor thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Michal Valenta, Ph.D.
Summary
The subject of this bachelor thesis is design and implementation of a mobile application, used to display the statistics of tennis competitions organised by Czech Tennis Association. Another objective of this thesis is design and development of software used for extracting and parsing data from the website of Czech Tennis Association.

Administrator Part of the FIT Classrooms Booking System

Author
Patrik Turcaj
Year
2015
Type
Bachelor thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Tomáš Kalvoda, Ph.D.
Summary
The goal of this bachelor thesis is to analyze, design and implement Administration part of reservation system for FIT. Application collects data from other school systems and then provides this data as a web service. Implementation is based on the Java EE platform.

IPE to TikZ Converter for Automata Transition Diagrams

Author
Matyáš Kopp
Year
2014
Type
Bachelor thesis
Supervisor
Ing. Ondřej Guth, Ph.D.

Plasmoid for Remember The Milk

Author
Karel Dvořák
Year
2017
Type
Bachelor thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Lukáš Bařinka
Summary
This thesis is dealing with analysis and implementation of a desktop widget designated for organizing task via the Remember the milk service. A new application eliminating problems of previous solutions is designed, based on the requirements and analysis. The thesis contains description of analysing, designing, implementing and testing the client. The output of the implementation part is the desktop widget for the Linux environment KDE Plasma 5.

A translator of DET scripting language into Java

Author
Daniil Grankin
Year
2019
Type
Bachelor thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Eliška Šestáková
Summary
The goal of this thesis is to design and develop an improved scripting engine solution, addressing the problems and revisiting the features of the existing proprietary Scripting Engine implementation. The Scripting Engine is used to process the scripts, written in Java-like syntax with custom language extension into the methods of java classes, which could be compiled, and referenced from the platform. The main imperfection of the DET Scripting Engine is that it is relying on the regular expressions as on the script alternation tool. This flaw is approached in the prototype project, which is the subject of this thesis. The emphasis is given to the common compiler-construction technique. The scripting language is described with well-defined grammar. The parsing of the scripts provides an abstract syntax tree which could be then traversed with the predefined algorithms.

Web presentation and booking system of accommodation facilities

Author
Jaroslav Šmolík
Year
2016
Type
Bachelor thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Michal Šoch, Ph.D.
Summary
The thesis tackles an analysis of an existing system for accommodation facility management and an implementation of a new one. Requirements for the new system are defined based on the analysis and new users' needs. Research inspects complete solutions and compares three most frequently used PHP frameworks. In each framework a sample application demonstrating frameworks' workflow is implemented. A new application is designed based on the requirements and implemented in Symfony framework. Its functionality is tested through automated tests. The new application in contrast to the previous one is optimized for mobile devices and brings multi-language content management and booking system. Finally usability testing is conducted and detected flaws have are remedied.

Information system for agile software development team tables as extension of the NetGenium

Author
Peter Liptai
Year
2021
Type
Bachelor thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Mgr. Andor Pathó
Summary
The thesis explains the current system of the software development process in the company Dlubal Software s.r.o. All information about tasks and bugs is registered in the information system -- NET Genium. Developers teams communicate about the tasks and bugs by using a physical overview board located in the offices. All information on board is copied from NET Genium. The thesis explains the shortcomings of the current solution. Therefore, a new solution is developed -- a program Team Table, which replaces the physical board and eliminates the identified shortcomings of the current development process. The analysis and implementation of the program are elaborated in the work. The final part of the work deals with usability testing, which reveals the shortcomings of design and implementation. The appendix includes instructions for setting up the development environment and compiling the program for deployment.

User Interface of FIT Classroom Booking System

Author
Ivan Prokipčák
Year
2015
Type
Bachelor thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Jiří Daněček
Summary
This bachelor's thesis describes design and implementation of user interface of FIT schoolrooms reservation system as a web application built on the Java EE platform.

Thunderbird and Exchange Integration

Author
Karel Gudera
Year
2017
Type
Bachelor thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Miroslav Prágl, MBA
Summary
This thesis deals with interconnection (or integration) of e-mail client Mozilla Thunderbird and e-mail server Microsoft Exchange via Exchange Web Services (EWS). Solution is implemented as a plugin (or add-on) which must be installed in Thunderbird. Main goals are user-friendliness during plugin installation and during it's usage. Plugin should be independent of other software, this means that user should not have to install anything else for the plugin to work properly. Functionality is limited to receiving and sending e-mail messages. Plugin should be available for Microsoft Windows and Linux as free opensource software. How all the goals have been achieved is described in this thesis.

Implementing multi-threaded algorithms to the JGraphT library

Author
Barbora Kolomazníková
Year
2023
Type
Bachelor thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Jiří Novák, Ph.D.
Summary
The aim of the thesis is to implement four parallel, multi-threaded algorithms to the JGraphT -- a Java library providing graph data structures and corresponding algorithms. The selected multi-threaded algorithms to be implemented are BFS, DFS, Dijkstra, and Bellman-Ford. First part of the thesis provides an overview of the JGraphT and its main components. Second part presents theoretical description of the selected algorithms and their parallel versions. Third part introduces implementation requirements and describe the implementation of the algorithms. Last part of the thesis focuses on presenting the testing results, evaluating performance of the implementations, and assessing the fulfillment of the outlined implementation requirements. The main outcome of the thesis is the implementation of the selected multi-threaded algorithms which uses existing components of the JGraphT appropriately, is fully tested and documented.

Application for finding travel companions

Author
Mykhailo Liutov
Year
2022
Type
Bachelor thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Jan Trávníček, Ph.D.
Summary
This thesis describes the process of analysis, design, implementation, and testing of a system for finding travel companions. This system consists of an Android application and a server. The whole system is developed using modern technologies. The server is deployed into a cloud environment and uses various services offered by a cloud provider. As the result of this thesis, a complete system that is ready to be distributed to a wide public was created. Based on the conducted user testing, there is space for future improvements and expansion of the system with new features.

Experiments with algorithms for searching seeds of strings

Author
Martin Jůna
Year
2015
Type
Bachelor thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Jan Trávníček, Ph.D.
Summary
I focused on two algorithms for finding all restricted smallest distance k-approximate seeds, in this work. Two different algorithms exist for solving the problem. I performed a lot of experiments with these algorithms to compare it. Experiments were focused on impact of all parametrs of algorithms and their comparison. In order not to talk just about black boxes, there are descriptions of algorithms and problems that solve them.

Shibboleth authentication in Java

Author
Kamil Maleček
Year
2016
Type
Bachelor thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Michal Šoch, Ph.D.
Summary
Bachelor thesis deals with the design and implementation of an authentication solution for Java Enterprise Edition (Java EE) applications using single sign-on system Shibboleth, by means of standard tools of Java EE and application server GlassFish. In the conclusion, there is a description of the test scenario including pros and cons of the solution.

Schedule finder of rooms and people at FIT

Author
Jan Staněk
Year
2015
Type
Bachelor thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Jiří Mlejnek
Summary
This bachelor thesis describes development of a mobile application for Android. Its primary goal is to show schedule events which belong to students and teachers from Faculty of Information Technology CTU and empty rooms. The data source of the application comes from application interfaces Sirius and KOSapi. For the purpose of authorization the OAuth 2.0 protocol was used. The thesis describes each stage of an application development. These stages are analysis, design, implementation and a testing stage. In the end there is mentioned a path which will be taken by the application in the future. The result of the thesis is a functional mobile application with a prototype of an user interface.

Implementation of Automata-based Algorithms for Searching Regularities

Author
Irina Shushkova
Year
2019
Type
Bachelor thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Tomáš Pecka
Summary
This thesis introduces automata-based algorithms for searching regularities. Specifically, searching of exact covers and searching of approximate covers for Hamming distance are researched. The algorithms are also implemented as part of the Algorithm library developed at Department of Theoretical Computer Science of FIT CTU in Prague.

POSIX Regex Matcher

Author
Oleksandr Zaporozhchenko
Year
2020
Type
Bachelor thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Jan Trávníček, Ph.D.
Summary
This bachelor's thesis deals with the matching problem of regular expressions with backreferences (regex, for short), which is a feature available in most modern matching engines. It allows the user to specify even non-regular languages. The chosen algorithm based on the construction of a multi-tape Turing machine and Schmid's algorithm for this problem parametrized by the active variable degree were implemented in C++. All the implementations are tested on created test sets and compared with already existing applications. This paper gives, among other things, an alternative proof of the NP-completeness of the matching problem of regex.

GUI for automata library ALIB

Author
Václav Mareš
Year
2017
Type
Bachelor thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Jan Trávníček, Ph.D.
Summary
This bachelor's thesis describes the design and implementation of application providing grafical user interface for automata library ALIB. The text contains overview of ALIB functions and analysis of functions subset working with finite automata. Research on existing applications focusing on finite automata, design of GUI and application's architecture. Application's goal is to provide intuitive grafical interface for functions from automata library. Main idea behind the GUI is provide algorithms as pieces and let the users build their solution. Originally interface of project ALIB was on the command line. The implementation uses C++ and framework Qt. The product of this thesis is an application providing GUI to subset of ALIB functions. Created code is licenced as opensource.

LaTeX support with Grammarly

Author
Tomáš Hojek
Year
2020
Type
Bachelor thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Eliška Šestáková
Summary
This thesis deals with the creation of an application that allows checking texts written in \LaTeX{}. This application does not check the text itself but allows to use it with external services. In this work the Grammary service is used, which allows you to check English texts. In this thesis is also a review of the Grammary service, review of one existing solution, which communicates with another external service, and an analysis of requirements. Based on requirements, a prototype of the above-mentioned application was designed and implemented. The prototype was implemented in the Java programming language and JavaFX as a desktop multiplatform application.

SVG Support in LaTeX

Author
Petr Pulc
Year
2012
Type
Bachelor thesis
Supervisor
Ing. Ondřej Guth, Ph.D.

Face authentication for KDE

Author
Petr Dušek
Year
2020
Type
Bachelor thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Josef Vogel, CSc.
Summary
This bachelor thesis describes the creation of an application implemented as a system module for KDE Plasma 5. The application uses the Howdy project as its basis. The main task of the thesis is to describe the creation of the application and installation packages for distributions Linux Mint, Gentoo and OpenSUSE. The thesis contains analysis, design, implementation, solution individual problems and final testing.

Java vulnerability to regular expression denial of service

Author
Andrey Olos
Year
2023
Type
Bachelor thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Petr Máj, Ph.D.
Summary
In this project, we study vulnerable regular expression inputs in the Javas platform implementation, also known as OpenJDK. These inputs can cause a Regular expression Denial of Service attack on the system which could make a targeted system unavailable to actual users. OpenJDK is considered protected against ReDoS attack, especially in versions 9 and higher where optimization of the regular-expression matching algorithms was added. But even with this improvement, we will show that there are still vulnerable regex inputs, which can cause exponential run-time problems and potentially cause a denial of service, even in the latest version of OpenJDK. In this thesis, you will see which optimizations were added in version 9, how these improvements affect OpenJDK today, and what these optimizations did not manage to cover. For each of the vulnerable regex inputs you will also be given a flow chart that shows the process of the matching algorithms, why the exponential run-time problems occur, and possible solutions.

Web Part of FIT Classroom Booking System

Author
Branislav Heger
Year
2015
Type
Bachelor thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Tomáš Kalvoda, Ph.D.
Summary
This bachelor thesis focuses on the design and implementation of graphical user interface for a web based room booking system that will be used by FIT. The first thing is a precise analysis of all requirements that may potential users have. The system is designed so that the main source of data is another, simultaneously running bachelor thesis, Administration part of a room booking system at FIT. The main goal of design and implementation is to keep graphical user interface simple and well-arranged. Result of implementation is tested using appropriate methods. This thesis also states different contributions, of having reservation booking system at FIT. These contributions are written from the economic and managerial point of view.

Implementation of automata-based algorithms for searching seeds

Author
Veronika Dolanská
Year
2020
Type
Bachelor thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Tomáš Pecka
Summary
This thesis deals with the problem of searching regularities in strings, speci-fically searching seeds. It contains a description of finite automata based solution to searching exact, restricted and approximate seeds regarding given maximum Hamming distance. Given algorithms are implemented in Algorithm library of Department of Theoretical Computer Science, CTU in Prague.

Master theses

Regular Expressions with Subpattern Recursion

Author
Vojtěch Hruša
Year
2021
Type
Master thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Tomáš Pecka
Summary
This thesis studies regular expressions with subpattern recursion. It is an extension of regular expressions that allows reusing subpatterns in other parts of the expression, including inside the actual subpattern. Firstly, we study various extensions of regular expressions, their expressive power, and research techniques. We then introduce novel algorithms for transforming between regular expressions with subpattern recursion and context-free grammars. Finally, we show that regular expressions with subpattern recursion match exactly context-free languages.

Discord bot for Czech real estate market monitoring

Author
Vojtěch Drška
Year
2023
Type
Master thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Michal Valenta, Ph.D.
Summary
The subject of this master's thesis is to design and implement software used for extracting and parsing data related to Czech real estate market. Another objective of this thesis is to design and implement a Discord bot, capable of sending notifications to its users, containing information about real estate listings of their interest.

Analytical tool for pair traiding

Author
Kamil Maleček
Year
2018
Type
Master thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Summary
This diploma thesis deals with the design and implementation of an analytic tool for stocks trading, namely for the pair trading strategy. The implementation is done by standard technologies available in Java Enterprise Edition, JavaServer Faces and application server GlassFish. In the last chapter, there is a description of pros and cons of the application and some ideas for future improvements are discussed.

Application for evaluation of assembly work

Author
Jakub Čermoch
Year
2012
Type
Master thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Pavel Samec

MBSpendings - application for managing household's finances

Author
Luděk Baumgartner
Year
2013
Type
Master thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Vladimír Váňa, CSc.

Multimodal Navigation and its Deployment in Scalable Architecture

Author
Jan Sokol
Year
2021
Type
Master thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Jan Fesl, Ph.D.
Summary
This thesis deals with design of a trip planner in geospatial graphs, with a limitation of routes in cities. Route planner offers various means of transport. Multiple ways of transport are combined into one single trip when certain combinations are used. Route planning service is designed using principles of so called microservices. Access to the planning results is designed using REST API. Technologies Docker and Kubernetes will be used to deploy the route planner into distributed and scallable system in the second part of the thesis. While deploying the service in an distributed system an emphasis is taken on security of the whole architecture. Part of the thesis is dedicated to the application scalability. Importance is put on high availability of the application, both in usual day to day business and also while deploying route planner microservices.

Backreferences in practical regular expressions

Author
Martin Hron
Year
2020
Type
Master thesis
Supervisor
Ing. Ondřej Guth, Ph.D.
Reviewers
Ing. Jan Trávníček, Ph.D.
Summary
Backreferences are an extension of regular expressions commonly supported in modern tools. Regular expressions with backreference have an increased expressive power but their matching problem is NP-complete. This work researches existing approaches for regular expression matching with focus on backreferences, and also provides an overview of theoretical work on the topic. As a part of this thesis, a matching tool based on computational model called memory automata was implemented. Matching patterns with number of backreferences to different groups limited by a constant using memory automata has polynomial time complexity. An additional recently published technique based on memory automata was also implemented, which provides polynomial complexity even for a subset of patterns with unbounded number of backreferences restricted by a certain property. As a part of this thesis, an alternative algorithm to compute this property was proposed and implemented. The memory automaton model was also extended to support counting constraints, and other common extensions were implemented. Experimental evaluation showed that the implemented tool is much more resistant to catastrophic backtracking when compared to existing implementations with support for backreferences. No tested algorithmic complexity attack triggered significant slowdown.