Completed thesis

  • All universities

  • Reset filters

Recommender System for Web Articles

Red Hat Developer website brings resources to help developers build modern and innovative apps and services. It includes everything from downloads to developer how-tos and getting-started guides to tutorials, videos, books, and latest new. Goal of this thesis is the implementation of a recommender system, which brings new, personalized experience into the website. Using machine learning techniques, it should combine user’s website browsing history together with website articles characteristics, and recommend most interesting content to the user. It should provide good balance of the content exploitation vs exploration to the user, which is crucial in the ever changing landscape of the […]

November 2, 2018

Performance Testing of Linux Kernel

The goal of the thesis is to develop a tool for graphic interpretation of results of kernel performance measurement. The tool should also be able to automatically detect and report performance regression. The student has to study existing benchmarks for measuring the performance of Linux kernel scheduler and means of storing of the benchmark results.

October 4, 2018

Client side DNSSEC deployment

DNSSEC is already a well-established technology, which extends the DNS protocol to provide integrity and authenticity.

March 12, 2018

Approval System for Keycloak

Keycloak is a highly configurable open-source single sign-on server. In complex deployment environ- ments, Keycloak can be managed by a team of administrators with hierarchical organizational structure and different access levels. Each of them then can be responsible for different parts of the server’s configuration. E.g. one can be responsible for creating new users (like employees), other for managing user roles and groups and assigning access rights to them and the third could be a master supervising admin which can do all of it. Some of the changes to the server’s configuration could be even done by the end-users., e.g. […]

February 28, 2018

Decompilation of restored in-memory class fragments in running JVM

Based on ability of JVM to restructure already loaded classes and by using existing decompilers decompile in memory transformed fragments of java classes close to human-readable form. Student must investigate existing mechanisms in JVM allowing restoration of bytecode class representation. By modifications in existing decompilers the machine code can be decompiled to one or more JVM languages (java, clojure…) also with theirs various intermediate forms. As bonus the view can contain full syntax highlight or be able to compile the class back to JVM. Recommended environment is implementation as thermostat plugin as it allows easy access to running JVM.

October 25, 2017

Continuous Integration and Automated Code Review in Open Source Projects

Ensuring code quality and enforcing coding standards and styling are essential aspects of the developer experience in any open source project. Having automated feedback for any proposed code change helps both the developer and the maintainers produce quality code. The goal of this thesis is to analyze this workflow in the ManageIQ project, compare it with workflows used in other popular open source projects, and, based on the results, enhance the developer experience in the said project.

September 20, 2017

Modern TreeView component for the web

One of the best solutions for navigating in a hierarchical structure is to use a tree view. It has been implemented in file managers, XML viewers and version control systems. The goal of this thesis is to create a tree view web component with modern technologies and optimized performance.

August 21, 2017

IRC logbot

Develop dockerized IRC logging bot that is silent all the time. All it does is listening on all the communication happening on the IRC channel storing it and presenting it as a single page application.

August 11, 2017

LinkedIn Search Query Builder

Develop a web application capable of creating and managing complex boolean queries.

October 5, 2016

Continuous Integration System for TLS/SSL Libraries Interoperability

Study design and implementations of SSL/TLS protocol (focus on OpenSSL, NSS and GNUTLS) and current state of the art of its interoperability and integration testing. Get familiar with existing tools and solutions for implementing public projects with continuous integration features. Design a system for publicly sharing integration and interoperability SSL/TLS tests that is able to execute the test suite and expose testing results to public before incorporating particular commit and pull request in both the test suite and upstream implementation of SSL/TLS library. This system should support tests written in BeakerLib [1]. Design a test suite for testing interoperability and […]

Existing Attacks on SSL/TLS Protocol

Study design and implementations of SSL/TLS protocol and existing attacks on its design and implementation [1], testing approaches and tlsfuzzer project [2]. Get familiar with existing attacks againts SSL/TLS. Identify existing attacks that are suitable for reproduction in tlsfuzzer framework. Design a test suite for them. Implement the tests and necessary improvements to tlsfuzzer and tlslite-ng [3]. Run the tests against existing SSL/TLS implementations and evaluate the results. Points that should be done during the first semester: 1. and 2. [1] [2] [3]

October 3, 2016

Develop an IoT Application Runtime

The main goal of this topic is to develop a runtime for 3rd party applications to be used on Single Board Computers (e.g. Raspberry Pi). Student will get familiar with Single Board Computers and how to develop applications interacting with outside world. Furthermore, student will learn about developing Docker containers and the concept of Internet of Things.

September 30, 2016

Web application for personal currency exchange

Propose an open-source web application, that will allow people to put in offers/demands for exchanging specific amounts of money in various currencies, physically in the vicinity of their residents and allow both parties to set up a meeting.

September 29, 2016

RedDeer Code Generator

Get familiar with the Eclipse IDE and its architecture [1]. Focus on how to create plug-ins and create a basic plug-in with a simple user interface. Then, get familiar with the testing framework RedDeer [2] which is used for automating tests for Eclipse IDE plug-ins. Describe the principles of the testing framework RedDeer and suggest a solution how to improve writing tests by generating the code. Implement the suggested solution as an extension of the plug-in created in the first part.

September 26, 2016

Web SDR receiver

Get acquainted with SDR (Software Defined Radio) concepts, Gnuradio framework, and RTL-SDR. Design Web SDR receiver that will allow receiving at least one of the following modulations AM, FM, SSB (USB/LSB), CW through Gnuradio / RTL-SDR. Deal with multiuser access (i.e. one user can control the underlying HW, others only monitors). Optionally try to transfer the demodulation task to the clients (HTML5/Java) which would allow hosting the Web SDR on slow embedded HW (like RPI). Implement and demonstrate functionality of your design. It’s supposed that opensource project will be created and hosted on the internet (e.g. on GitHub).

September 22, 2016

USB HID monitor

Get acquainted with the USB HID standard, the terminology, descriptors and how to interact with the HID devices from Linux (e.g. libusb, libhid, …). Also learn how to create GUI in Linux (GTK/QT/ …). Design and implement tool which will allow interaction with the USB HID in the realtime. The tool should allow manipulation of the “outputs” (e.g. set the LEDs), should support manipulation of the “features” and should display the status of input controls in the human readable form (preferably in graphics through GUI). It is supposed that at least the basic set of HID controls will be supported […]

July 17, 2016

GNOME Keyring Storage in FreeIPA

Nastudujte projekt FreeIPA. Zaměřte se na správu dat týkající se identity uživatelů. Nastudujte část Vault projektu FreeIPA. Zaměřte se na rozhraní JSON-RPC této části. Nastudujte projekt Klíčenka Gnome. Analyzujte práci s daty v klíčence Gnome. Navrhněte modul pro klíčenku Gnome, který zprostředkujte část Vault projektu FreeIPA pro účely alternativního úložiště citlivých dat. Navrhněte nutné úpravy projektu FreeIPA a klíčenky Gnome, příp. souvisejících komponent pro integraci navrženého modulu. Implementujte prototyp vašeho řešení. Ověřte správnost vašeho řešení pomocí automatizovaných testů na různých konfiguracích FreeIPA a klíčenky Gnome.

February 17, 2016

Eclipse plugin for triggering Project Newcastle workflows

 Anotace Create a new Eclipse plugin for triggering automated productization workflows in a remote PNC server.  Zadání Motivation Project Newcastle requires an IDE support to provide JBoss developers with a straightforward way of triggering the productized builds of community projects. An Eclipse plugin will be very helpful for community developers to analyze their dependency and align them with a productized version. Goals The main goal of this thesis is to Implement a new Eclipse plugin that would be capable of triggering a build process inside a remote PNC server. The input parameters will be tailored to the purposes of Project Newcastle workflows. […]

November 5, 2015

Static Analyser for BeakerLib tests

 Anotace Create a categorized list of coding mistakes that test authors can make when writing BeakerLib tests. Design, build and test a practical bug-hunting tool based on bug pattern finding, which would allow test authors to find their coding mistakes.  Zadání Get familiar with BeakerLib, the shell-level integration test library. Analyse, compile and categorize various BeakerLib-specific coding mistakes that the test authors can make while writing tests. Get familiar with bug pattern finding methods of static analysis of programs. Design a lightweight, practical static analyser able to find BeakerLib-specific coding mistakes, and implement it. The static analyser shall be built […]

October 20, 2015

Web editor of MusicXML files

Motivation MusicXML is a commonly used w3c open standard for music notation, however the community is missing a open source web based editor for this open format. Goals The main goal of this thesis is to develop an online music notation editor. Student will get familiar with the process of designing and developing a reactive HTML5 web application, MusicXML format structure and music notation standards. Project must be licensed under one of the open source licences and it’s source code deployed to GitHub. Progress of the respective work needs to be reported in corresponding issue. Editor Requirements The online editor need to be able […]

September 23, 2015

Mobile application for

Motivation is an open source project, based on Audiveris, trying to provide users with an Optical Music Recognition (OMR) as a Service. For this purpose a mobile client for scanning music scores is vital. Goals The main goal of this thesis is to design and develop a hybrid mobile application for the OMR service, so that users are able to take a photo of their musical score and have them processed in Student will get familiar with developing hybrid mobile applications and basics of Optical Music Recognition, as well as project. Mobile Application Requirements Mobile application needs to be […]

LESS-SASS style sheet converter

 Anotace The aim of this thesis is to research the differences between the CSS preprocessor languages, namely Less and Sass, and find applicable transformation methods to implement a converter between their dynamic stylesheet formats. A general introduction to the concept of CSS preprocessors is provided first, which is followed by a thorough description of the Less and Sass language features. In addition to this, all the discovered differences are stated and illustrative examples of the invented conversion methods are provided in this work. This is followed by the description of the design and implementation of the proposed converter. As a […]

August 21, 2015

Libvirt Admin API

 Anotace This thesis addresses the virtualization topic, more specifically, it deals with libvirt virtu- alization management library, the goal of which is to provide a common and stable layer to manage virtual machines that deals with all the hypervisor or virtualization solution specifics transparently to the user. Most of the functionality exposed by libvirt is imple- mented in form of services within a daemon called libvirtd. One of the main reasons why libvirt utilizes a daemon is to provide a remote management of virtual machines running on hypervisors which do not support remote management. However, the daemon lacks support for […]

June 10, 2015

Temperature Component for

 Anotace Design and implement a component for Apache Camel framework, that could be used to read data from a temperature sensor.  Zadání Motivation Currently, IT Industry is still missing some comprehensive, enterprise ready, and easy-to-use IoT development kit. project aims to provide such solution. To accomplish this ultimate goal, basic building blocks, Apache Camel components in this case, needs to be developed. Goals The main goal of this thesis is to develop an Apache Camel component that could be further used in project. This new component is supposed to read data from a temperature sensor connected to an […]

April 7, 2015

Time-Based Account Policies in FreeIPA

 Anotace This thesis deals with the common problems when implementing account policies based on time in the user authorization process. The reader is shown how this problem is solved in some of the current systems. FreeIPA identity management project architecture is presented with the focus on its user management and user authorization policies. The SSSD project is described with aim on its connection to FreeIPA. The author creates a design for time-based account policies functionality and implements it in FreeIPA and SSSD systems.  Zadání .1 Get familiar with FreeIPA identity management project architecture, focus on user management and user authorization […]

March 19, 2015

S-RAMP repository browser for JBoss Developer Studio

Motivation It is crucial to have a solid IDE support when developing new services for SOA applications. Currently, neither of the most popular IDEs (Eclipse, Netbeans, IntelliJ IDEA) have support for JBoss S-RAMP repository. Goals The main goal of this thesis is to Implement a new Eclipse plug-in for manipulating artifacts within JBoss S-RAMP (Artificer) repository. This plugin needs to be installable into JBoss Developer Studio 7. Student will get familiar with JBoss Overlord project, mainly JBoss S-RAMP (Artificer), and Eclipse plug-in development. Progress of development should be tracked in corresponding Jira issue, and final implementation deployed to public GitHub repository. […]

February 25, 2015

Extend openstack modules for Ansible

 Anotace Ansible is automation tool. There are existing modules for OpenStack, but it covers only fraction of configuration. See Not Yet Supported chapter what needs to be done. There are other ideas in queue.  Zadání Please create modules that: Disabled tenants Deleting users Deleting roles Deleting services Deleting endpoints Deleting images Updating tenants Updating users Updating services Updating endpoints Multiple endpoints per service Updating images and probably some other. In ideal world you would be able to install whole OpenStack just using Ansible modules.

February 18, 2015

Develop a Service Lifecycle Management Application

Motivation In SOA environments, it is beneficial to have a complete overview of all the services available, or currently running in production, to better identify which services need to be created or updated. These systems also help to make sure all the necessary steps are taken before a service is put in production or is made obsolete, and treated in a proper manner. Goals Goal of this thesis consists of creating a service lifecycle management application for JBoss SOA solution. Student will get familiar with JBoss open-source projects for application development, jBPM 6 and JBoss Overlord. Furthermore, student will design […]

November 24, 2014

System Management with Dual Authorization

V UNIXových systémech má uživatel “root” neomezená práva upravovat systém. Cílem je zlepšit ochranu počítačového systému vůči útokům zevnitř uživatelem s právy administrátora tím, že systém bude vyžadovat potvrzení každé akce nezávislou osobou. Krátce analyzujte model správy UNIXových systémů, a sepište hlavní požadavky na nezávislé potvrzování administrátorských akcí. Na základě těchto požadavků navrhněte model konfigurace a základní rysy uživatelského rozhraní systému. Navržené rozhraní implementujte. Přinejmenším umožněte spouštění příkazů shellu a editaci textových souborů.

November 5, 2014


 Anotace Grafické rozhraní pro prohlížení 3D modelů ve formátu STL a manipulaci s nimi pomocí nástroje ADMesh.  Zadání STL je formát pro reprezentaci 3D modelů určených nejen pro 3D tisk. Navrhněte a implementujte nadstavbu v podobě grafického uživatelského rozhraní k aplikaci ADMesh, která umožňuje automatickou úpravu topologie a manipulaci s uvedeným formátem. Využijte skutečnosti, že aplikace poskytuje rozhraní pro programovací jazyky C a Python. Cílem práce je vytvořit intuitivní uživatelské rozhraní s možností zobrazovat načtený soubor se zvýrazněním změn provedených nástrojem ADMesh. Uživatel bude mít možnost vybrat akce, které se mají provést. admeshgui

October 22, 2014

Implement external authentication modules for nginx

 Anotace Study the central identity management and its role in enterprise IT deployments. Study open-source identity and authentication provider FreeIPA. Study web application authentication setup described at which uses Apache httpd modules mod_auth_kerb, mod_authnz_pam, mod_intercept_form_submit, and mod_lookup_identity. Study HTTP server nginx and its internals and module system. Implement modules to achieve the same authentication setup on nginx like the one described above. Work with nginx upstream to get the code changes to the upstream project. Document the changes and the result.  Zadání Study the central identity management and its role in enterprise IT deployments. Study open-source identity and authentication […]

October 13, 2014

General Troubleshooting Tool for FreeIPA

 Anotace The aim of this thesis is to implement a pluggable troubleshooting tool that collects and analyzes information about FreeIPA deployment. The thesis provides a detailed view on the architecture of FreeIPA servers and clients, their interaction and the technologies they are based on. Afterwards, high-level design and implementation details are featured, which serves as a guide for further extension by FreeIPA developers.  Zadání Work up FreeIPA identity management project architecture with focus on requirements, assumptions or potential issues of it’s main services (LDAP server, KDC, PKI server) and their interaction. Research the most common user issues and think what […]

Use of tags to classify content in Searchisko content management systems

 Anotace Cílem této práce je seznámení z problematikou využití štítků při práci s obsahem a rozšíření systému Searchisko o flexibilní podporu práce se štítky.  Zadání Štítky (anglicky tag nebo label) jsou využívány ke kategorizaci dokumentů v mnoha systémech správy obsahu. Searchisko ( je OpenSource projekt, který umožňuje rychlé vybudování systému pro práci s dokumenty pocházejícími z různých heterogenních zdrojů. Nabízí především služby indexace dat, normalizace dat při indexaci, persistence dat, efektivního vyhledávání a agregace dat, zabezpečený přístup k datům na základě rolí uživatele a další. Cílem této práce je seznámení z problematikou kategorizace obsahu pomocí štítků a rozšíření systému Searchisko […]

October 10, 2014

PerfCake scenario editor for IntelliJ IDEA

Investigate and study the area of IntelliJ IDEA platform plugin development. Make yourself familiar with the PerfCake performance testing framework. Design and implement user-friendly PerfCake scenario editor as a plugin into IntelliJ IDEA. Design and implement user-friendly PerfCake scenario creation wizard. The wizard would be part of the plugin. Design and implement the ability to actually execute the PerfCake scenario directly from IntelliJ IDEA.

October 8, 2014

Remote API Reference Generator for Java Enterprise Applications

 Anotace The aim of the thesis is to develop a remote API reference generator for Java Enterprise applications. Important parts of the work are also UI and UX for the designed web system that display the remote API reference.  Zadání The main tasks are: Study and seize REST and WS API based on the specifications JAX-RS and JAX-WS used in Java. Optionally JMS. Get familiar with Apache Maven, especially with development of Maven plugins. Analyze the existing solutions of generating an HTML reference for a remote API. Design an innovative user interface with regard to clarity and simple use, even […]

September 22, 2014

Support for annotation driven testing in Apache Camel

The goal of this work is to write a new component to Apache Camel project that will extend its test framework with annotation driven configuration. The student should analyze features provided by current implementation and turn them into specification. Also its necessary to study similar testing frameworks like Arquillian and Pax Exam to get familiar with moder approaches. Design a new API using annotations that will provide the same features as the current one but using declarative annotations. Co-operate with community on exact specification of necessary features and commit a functional solution together with tests, documentation and other stuff required […]

September 17, 2014

Web Application for Sharing DevAssistant Assistants

 Anotace This bachelor’s thesis aims to specify and implement a format for distributing assistants for the DevAssistant application and design and implement a web repository to share assistants in that format with others.  Zadání The aim of this thesis is to create a web application for sharing DevAssistant assistants. This application will become part of DevAssistant web page ( The applicaton will have GUI and API that will allow: * uploading new assistants * updating assistants and their metadata * deleting assistants * tagging assistants with arbitrary tags * downloading assistants * rating assistants * fulltext search * mallware/spam reporting […]

June 26, 2014

Graphical user interface (GUI) for Tuned tool

Seznamte se s problematikou správy napájení v distribuci Fedora, s projektem Tuned ( a se způsobem vytváření profilů pro Tuned verze 2. Navrhněte způsob pro automatiké zjištění aktuálně podporovaných pluginů a jejich parametrů. Navrhněte a implementujte grafické uživatelské rozhraní (GUI) pro ovládání Tuned, které umožní i přepínání profilů, vytváření/editaci profilů, mazání profilů. Demonstrujte funkčnost implementace.

June 9, 2014

SSL Certificate management for WildFly/JBoss EAP using freeIPA

The aim of this thesis is to create an extension for WildFly/JBoss Application Server, that will allow to obtain and store SSL certificates from Free IPA server. It will be able to track and renew these certificates as needed, without the need of the server restart. Certificates will be stored in secured keystore, which is available to deployed applications and server itself.

April 23, 2014

Integration of JBoss Undertow http server with Apache Camel project

Design and implement a component for Apache Camel project, integrating Apache Camel and JBoss Undertow. This new component should be used as a web server (http provider). In your work, cooperate with community and provide the results as a patch so it can be used for next release of Apache Camel project. For this purpose investigate and study areas of Apache Camel extensions development, furthermore get familiar with JBoss Undertow project, implementing web server. During the development follow the process defined by Apache Foundation and follow coding standards set by the project. As a part of the work deliver unit […]

March 6, 2014

PerfCake scenario editor for Eclipse 4.3

Investigate and study the area of Eclipse platform plugin development. Make yourself familiar with the PerfCake performance testing framework. Design and implement user-friendly PerfCake scenario editor as a plugin into Eclipse 4.3. Design adn implement user-friendly PerfCake scenario creation wizard. The wizard would be part of the plugin. Design and implement the ability to actually execute the PerfCake scenario directly from Eclipse.

Performance comparison of JBoss integration platform implemtations (Fuse, SwitchYard)

Investigate and study the areas of performance testing and system integration. Make yourself familiar with the performance testing framework PerfCake. Design a set of performance scenarios that will cover most parts of an integration platform. Implement those scenarios for JBoss Fuse and JBoss SwitchYard. Design a stable environment for performance testing that would produce reliable and stable results. Execute those scenarios in the environment using the PerfCake tool, collect the results and use it to compare the performance of the two JBoss integration implementations. As soon as you have the reliable results, publish an article describing the process of performance […]

A tool for storage configuration on GNU/Linux OS

 Anotace Operační systém GNU/Linux poskytuje velmi mnoho technologií pro práci s datovými úložišti, přičemž tyto technologie mohou být využívány ve vrstvách nad sebou. Tato variabilita umožňuje dosahování velmi vysokých parametrů při práci s daty, avšak počáteční konfigurace datových úložišť vyžaduje dobrou znalost mnoha nástrojů, a je tak velmi složitou operací. Cílem práce je implementace základní verze nástroje usnadňujícího práci s datovými úložišti, jenž bude prostřednictvím uživatelských rozhraní umožňovat vytvoření nebo změny konfigurací využívajících různé technologie.  Zadání Operační systém GNU/Linux poskytuje velmi mnoho technologií pro práci s datovými úložišti, přičemž tyto technologie mohou být využívány ve vrstvách nad sebou. Tato variabilita […]

February 3, 2014

Filing cabinet as a SaaS

Create a generic filing cabinet that uses MongoDB as a storage. The application will work as a SaaS inside OpenShift environment and will support multi-user model. Every user can own one or more cabinets Every cabinet has a pre-defined schema – a list of typed fields together with mandatory/optional flag. The fields should support storage of multiple values (1:n relation). It is expected that user can store large binary data like images or audio files The application should provide web interface implemented in Java EE and should reflect the schema of filing cabinet – optional fields, content validation, multi-values, binary […]

December 10, 2013

Migrate OBS to Fedora

Migrate Open Build Service to Fedora. This include packaging for Fedora. Capable of running on Fedora platform and use mock instead of SuSe “build” script.

November 20, 2013

Java applications monitoring using Java Debugger Interface (JDI)

Prostudujte specifikaci JPDA a především JDI. Popište základní vlastnosti JDI a způsob jejího použití Vytvořte jednoduchou aplikaci, která bude sloužit pro připojení k JVM a sledování v ní běžící aplikace V konfiguračním souboru monitorovací aplikace bude možné zapsat události, které se budou detekovat (překročení velikosti alokované paměti, dlouhý běh GC…) Při detekci zapsané události aplikace pošle notifikaci na zadaný systém (IRC, Jabber, mail, —) či zapíše informaci o události do logu (syslog…) Sledovat by se mělo zejména obsazení operační paměti haldou (heapem) a zásobníkem Zhodnoťte dosažené výsledky a navrhněte možnosti dalšího vývoje projektu

November 7, 2013

Integration of Jenkins CI with Undertow

Jenkins CI is the most popular continuous integration server which contains embedded servlet container Winstone, which is archaic and not maintained. The aim of this thesis is to replace Winstone by Undertow. The student will: * get familiar with Jenkins CI, especially with extras-executable-war package, * get familiar with Undertow, * compare Winsotne with Undertow and identify all possible backward compatibility issues (e.g. configuration options available in Winstone, but missing in Undertow), * resolve possible backward compatibility issues by implementing new features into Undertow or by modification of appropriate part of Jenkins, * replace embedded Winstone servlet container by Undertow, […]

November 5, 2013

GVfs caching subsystem

 Anotace Cílem práce je vytvořit systém vyrovnávací paměti transparentně integrovaný do projektu GVfs sloužící jak pro urychlení určitého typu operací, tak i pro emulaci těch operací, lokálně nedostupných z daného návrhu modulů.  Zadání Nastudujte gvfs, master, backendy. Nastudujte různé typy vyrovnávacích pamětí. Zdokumentujte nevýhody/nedostatky vybraných backendů. Navrhněte podsystém gvfs, který rozšíří backendy gvfs o možnost cachování. Implementujte navržený podsystém cachování jako rozšíření existujících backendů poskytující pouze základní operace nad souborovými systémy (např. backend pro přenos souborů přes bluetooth, ftp a sftp). Ověřte správnou funkcionalitu na vedoucím práce vybraných backendech. Proveďte srovnávací výkonnostní testy backendů s a bez použití cache. Diskutujte […]

October 18, 2013

Networking Subsystem Configuration Interface

Get familiar with different network devices in OS Linux, study their specific attributes with regards to their configuration. Get familiar with current options of configuring different network devices, firewalls and routing in OS Linux. Design an extensible object oriented interface allowing the configuration of the networking subsystem, supporting reactive handling of change events. Based on the created model implement a library interface for selected configuration targets. Implement a userspace tool using this library. Evaluate achieved results and propose further improvements.

October 10, 2013

Modular file scanner for RPM

The goal of this thesis is to implement a new modular file scanner for rpm. When ready, the plan is to create some modules that will automate a portion of package building, those eliminating its specification in spec files. That will ultimately lead to significant simplification of spec files.  Zadání Get familiar with the code base of RPM Design a file scanner engine with API for modules that will receive signals from the scanner Implement the scanner and one example module Test your solution and evaluate its benefits over current state

October 8, 2013

Software Quality and Contribution Quality Metrics, Analysis and Visualization with Git, Python and d3.js

Fedora, a leading community driven, Red Hat sponsored, Free and Open Source Linux based distribution is comprised of tens of thousands of packages and millions of lines of code, contributed by a diverse and vibrant community of thousands of individuals and organizations across the globe. To manage the source code that makes up the distribution, Fedora uses Git. Git is a relatively new, free and open source distributed version control system that has quickly become the “gold standard” for source code management across the Open Source community and beyond. Every week, changes to hundreds, perhaps thousands of lines of code […]

Netlink oVirt network configurator

NOTE: A final version of this is to be done. The goal of this diploma thesis consists on designing and implementing an oVirt network configurator using Netlink. To do that the student shall: Study the Netlink protocol and pyroute2 (which implements it), Study oVirt, specifically its Virtual Desktop and Server Manager component (written in Python). Design and impement a Netlink configurator that fits with the current API and rollback mechanisms.

October 7, 2013

Java.math package benchmark

Prostudujte dostupné nástroje pro měření výkonnosti různých implementací JVM, zaměřte se především na nástroj SPECjvm Popište, které výkonnostní testy jsou v těchto nástrojích implementovány i vlastnosti JVM, jejichž výkonnost je těmito testy měřena Popiště způsob implementace uložení čísel v objektech typu BigInteger a BigDecimal Popiště způsob implementace algoritmů pracujících nad hodnotami typu BigInteger a BigDecimal Navrhněte strukturu benchmarku pro měření výkonnosti vybraných operací balíčku java.math Proveďte měření výkonnostních parametrů různých JVM, především OpenJDK, Oracle JDK a IBM Java s vhodnou prezentací výsledků Zhodnoťte dosažené výsledky  

Unified Software Database for RPM Based Systems

Get familiar with with current software databases in RPM based systems Analyze problems of current solutions Design a new database that will support the important functionality of current databases while removing their shortcomings Implement a proof of concept of your solution Compare your solution with the existing ones, discuss its advantages and possible shortcomings

October 4, 2013

RdRand: vlastnosti a použití nové Intel-64 a IA-32 instrukce pro generování náhodných čísel

Prostudujte různé operační módy (rychlé generování náhodných čísel s použitím více vláken) versus pomalé generování kryptograficky bezpečných náhodných čísel, vhodných jako násada pro další PRNG. Navrhněte a implementujte jednoduchou aplikaci v jazyce C pro generování náhodných čísel v různých režimech s použitím této instrukce. Zkoumejte kvalitu náhodných čísel s použitím empirických testů (například baterie testů TestU01 a PractRand Navrhněte použití této instrukce v různých aplikacích. Diskutujte bezpečnost, rychlost a statistické vlastnosti jednotlivých použití. Jako zdroj entropie pro Linux kernel. Násadu pro RNG. Zdroj entropie pro kryptograficky bezpečný generátor náhodných čísel. Přímé použití.

September 12, 2013

Popcon for Fedora

describe options which are available in OSS world for measuring popularity of applications get familiar with Popcon customize the code so it can work with rpm packages as well package popcon with your modifications as rpm package

JamVM: an alternative Java virtual machine

Popište vlastnosti JVM JamVM Porovnejte výhody a zápory JVM JamVM v porovnání s JVM HotSpot Vytvořte sadu jednoduchých výkonnostních testů (benchmarků), na nichž porovnáte výkonnost JVM HotSpot a JamVM Výsledky výkonnostních testů vhodným způsobem prezentujte a okomentujte Zhodnoťte dosažené výsledky a navrhněte možnosti dalšího vývoje projektu

Comparison of RAD tools: JBoss Forge and Spring Roo

Študent preskúma aktuálny stav v oblasti nástrojov pre RAD (Rapid Application Development) a popíše výhody z nich plynúce. Podrobne naštuduje nástroje JBoss Forge a Spring Roo. Pri ich porovnávaní sa naviac zameria na možnosť rozšírenia jednotlivých nástrojov. Na základe získaných znalostí, študent vytvorí vzorové rozšírenie pre tvorbu webových aplikácií pre Spring Roo a JBoss Forge, ktoré bude mať rovnakú funkcionalitu. V závere práce zhodnotí dosiahnuté výsledky.

September 9, 2013

Java Security Policy Centralization

Create an web application to allow edit and distribute Java Security Manager policies to number of JBoss EAP 6 servers (even for Cloud based deployment scales). It will be able to refresh itself without the need of the server restart. Design, implement and execute tests of new Java Policy Provider implementation in terms of security functionality and performance comparing to some production implementations available on the market (e.g. Oracle Java, IBM Java, OpenJDK). Bakalarka

June 20, 2013

Verifying and Improving Cryptographic Key Security in PKCS#11 Implementations

The PKCS#11 interface for cryptographic modules should be able to provide services without giving its users access to the raw values of the cryptographic keys. In practice, however, both the design and existing implementations have various problems and inconsistencies that allow extraction of the key data. Study the PKCS#11 interface standard, focusing on key protection facilities available in various versions Familiarize with existing attacks and existing tools for automatic implementation verification (e.g. Tookan) Write an open-source tool that performs an automated analysis of a PKCS#11 implementation to find ways to extract the key data; use it to validate the NSS […]

June 13, 2013

AJAX-Enabled JSF Component to Work with Chart-Plotting Libraries

Study architecture of JavaServer Faces framework together with ways to create new components in this framework Get familiar with existing solutions for plotting charts on the web Design JSF component for plotting charts with support of AJAX technique, taking configurability and extensibility into consideration Implement designed component Create a simple sample application demonstrating component’s functionality and perform testing on this sample Evaluate achieved results 14437 src

Synchronization of DNS records between LDAP database and standard compliant DNS server

 Anotace Aim of this work is to explore various ways how to store and synchronize DNS data in LDAP database (Lightweight Directory Access Protocol DB) and implement proof-of-concept code which synchronizes LDAP database and with a standard comliant DNS server (e.g. BIND version 10).  Zadání Work up Domain Name System architecture, work up LDAP Directory Infomation Tree architecture and compare various LDAP schemas for DNS data (e.g. schema from FreeIPA, DLZ, UNINETT, your own proposal [if you want]). Discuss various aspects of LDAP database schemas, including performance (e.g. impact of database indexing) and manageability (e.g. scattered DNS values mixed with […]

June 6, 2013