Ing. Jakub Perdek

I am a doctorand focused on reuse in the area of software product lines at the Institute of Informatics, Information Systems and Software Engineering, Faculty of Informatics and Information Technologies, Slovak University of Technology in Bratislava.

I have membership in AdvanSD research group.

Research Fields

Software product lines (dissertation): Annotation based, Aspect oriented, and model driven.

Information retrieval (master thesis): Similarity metrics, LDA, indexing, BIG Data (Hadoop, PIG, Hive), etc.

Machine and Deep learning (bachelor thesis): Their application.

Data structures and algorithms: Experimenting with algorithms applied to different technologies.

Computer Graphics (side): Its use in Web development.

Room:

3.34

Telephone:

+421 950 567 469

E-mail:

jakub.perdek@stuba.sk / perdek.jakub@gmail.com

Web development:

Cascading styles:

CSS, SCSS, SASS

Programming languages:

Java, AspectJ, C, C++, Python, JavaScript, TypeScript, Php (Laravel)

Frameworks:

Django (Python), Laravel (Php/Blade), Angular (TypeScript), Tensorflow (Python), Theano (Python), Node.js - Express (JavaScript)

Orchestration and containerization:

Kubernetes, Docker, Docker-Compose

Hobbies:

Curving, Reading books, Playing chess, Painting, Playing computer games, Graphics

Introduced software product lines

Software Product Line for Canvas-Based Applications

Stateful code based on handling of changes during interactions with central canvas element.

In its introduction we ensured following capabilities and benefits:

  • Complex, stateful products/applications
  • Responsiveness
  • In one application (without backend if necessary)
  • Accessible from everywhere (from the browser)
  • High UX possible (known elements, reactive forms, own routing,…)
  • Possibility to easily evolve SPL
  • Possibility to easily evolve product derivation (aspects do not introduce additional dependency here)
  • Reusing proven solutions (resizing canvas (board) during play, rendering algorithms,..)
  • Customization of graphic libraries for each specific case

Environments from the domain:

Design 3D Environment

During its introduction we ensured following capabilities and benefits:

  • Creation of texture for 3D objects from 2D designed canvas
  • Text creation and formatting
  • Loading various images including vector and raster graphics to design texture
  • Basic operations with objects: moving, skewing, rotating, removing, resizing
  • Synchronization with 3D canvas - every move
  • Managing groups of objects
  • Saving current desing - canvas state
  • Incorporating color pallete
  • Exporting resulting designed objects in various formats including OBJ and GLTF
  • Managing settings on 3D canvas: lights, shadows, background
Preview:
Feature model:
Puzzle to Play Environment

During its introduction we ensured following capabilities and benefits:

  • Loading particular image that should be set up
  • Incorporating custom puzzle rendering algorithm
  • Creation of each puzzles as separate image
  • Disabling possibility to deform, remove, or resize particular puzzle
  • Incorporation of puzzle shuffling and rotation
  • Preparing responsive puzzle board with information about position of each puzzle
  • Added hint to show position of particular puzzle on the board
  • Added posibility to move puzzle under or behind puzzles
  • Incorporation of zooming
  • Supporting application with rendering of various puzzle types
Preview:
Feature model:
Families of Fractal Products as Source of Variability

Stateful code based on handling of changes during interactions with central canvas element.

In its introduction we ensured following capabilities and benefits:

  • Multiple format representations (vector, raster, text)
  • No third party dependencies - easy to execute code and get values from the execution
  • Lot of recursion and reuse - code that is executed repeatedly
  • Accessible from everywhere (from the browser)
  • Variability reaches a “high degree” – almost everything is variability
  • Many generated samples
  • For evaluation purposes of variability management
  • Performing automated evolution based on structural information
  • Creation of product line dataset with multiple representations of fractal product families

Multiple implemetations of the following fractals (different codebase):

Krishna Anklet
Five side
Sierpinski triangle
Koch snowflake
W-curve/Hilbert curve

Publications

Lightweight Aspect-Oriented Software Product Lines with Automated Product Derivation

ABELLÓ, Alberto; VASSILIADIS, Panos; ROMERO, Oscar; WREMBEL, Robert; BUGIOTTI, Francesca; GAMPER, Johann; VARGAS SOLAR, Genoveva; ZUMPANO, Ester. New Trends in Databases and Information Systems, ADBIS 2023 Short Papers, Doctoral Consortium and Workshops: AIDMA, DOING, K-Gals, MADEISD, PeRS, Barcelona, Spain, September 4–7, 2023, Proceedings. Cham: Springer, 2023. ISBN 978-3-031-42940-8

Matrix Based Approach to Structural and Semantic Analysis Supporting Software Product Line Evolution

BUDIMAC, Zoran; VRANIĆ, Valentino; LANG, Ján. SQAMIA 2023: Software Quality Analysis, Monitoring, Improvement, and Applications 2023. Bratislava: Slovenská technická univerzita v Bratislave, 2023.

Complexity of In-Code Variability: Emergence of Detachable Decorators

Perdek, Jakub, and Valentino, Vranić. "Complexity of In-Code Variability: Emergence of Detachable Decorators." . In Reuse and Software Quality (pp. 51–71). Springer Nature Switzerland, 2024.

Fully Automated Software Product Line Evolution With Diverse Artifacts

J. Perdek and V. Vranić, "Fully Automated Software Product Line Evolution With Diverse Artifacts," in IEEE Access, vol. 13, pp. 27325-27358, 2025, doi: 10.1109/ACCESS.2025.3539868

Supervised Theses

Master's theses

Efektívne využitie transformácií v tvorbe softvérových výrobkov riadenej konfiguráciou modelov vlastností

Effective Use of Transformations in Software Product Creation Driven by Feature Model Configuration

Keywords:

Modelovanie, Formalizovanie, Prístup založený na transformáciách, Rady softvérových výrobkov

Abstract:   

Modelovanie vlastností umožňuje abstraktným spôsobom vystihnúť podstatu radov softvérových výrobkov a riadiť konfigurovanie jednotlivých výrobkov. Ukazuje sa, že sa na vlastnosti dá pozerať ako na transformácie kódu. Tvorba transformácií však nie je jednoduchá. Analyzujte prístupy k tvorbe softvérových výrobkov riadenej konfiguráciou modelov vlastností a koncept transformácie vo vývoji softvéru. Navrhnite prístup k tvorbe transformácií, ktorý umožní ich efektívne využitie v tvorbe softvérových výrobkov riadenej konfiguráciou modelov vlastností. Identifikujte typické transformácie a opíšte spôsob ich použitia. Prístup demonštrujte a vyhodnoťte na štúdií netriviálneho rozsahu.

Keywords:

Modeling, Formalization, Approach based on transformations, Software product lines

Abstract:   

The creation of software products based on the configuration of the feature model is interesting even today from the point of view of reusability. However, the creation of software products driven by the feature model configuration using transformations is difficult from the point of view of implementation. According to the analysis of modeling and transformation concepts, as well as other approaches to software product development, this work proposes an approach on how the creation of transformations can be supported by two-level modeling of transformations. The proposed modeling has helped to better formalize the creation of transformations. The usefulness of formalization and modeling for transformation creation and configuration has been confirmed through particular experiments.

Bachelor's theses

Detekcia defektov vo výrobkoch v radoch softvérových výrobkov

Detection of product defects in software product lines

Keywords:

Graf Vzájomnej Závislosti Faktorov, Zabezpečenie Kvality, Rady Softvérových Výrobkov, Predikcia Defektu

Abstract:   

Pri vývoji softvéru predstavuje efektívne riadenie a zabezpečenie kvality výrobkov v radoch softvérových výrobkov (SPL) značnú výzvu, najmä pri detegovaní a odstraňovaní defektov v rôznych variantoch produktov. Varianty rovnakej SPL rodiny zdieľajú spoločné jadro, ale často sa líšia vo variabilných vlastnostiach. Táto divergencia vedie k významným problémom pri detekcii defektov, pretože každý variant môže vykazovať jedinečné problémy, ktoré sa nenachádzajú v iných. Táto práca predstavuje nový prístup, ktorý strategicky využíva grafy vzájomnej závislosti faktorov (FIG) spolu s pokročilými technikami strojového učenia na riešenie tohto problému. Tento prístup zahŕňa analýzu zdrojového kódu na extrakciu metrík súvisiacich s kvalitou softvérového produktu, ktoré sa potom používajú na trénovanie klasifikačných modelov. Tieto modely sú zručné v identifikácii potenciálnych defektov s následným mapovaním týchto defektov na variant špecifické FIG pre komplexné pochopenie ovplyvňujúcich faktorov kvality. Tento prístup ponúka riešenie na udržanie štandardov vysokej kvality v prostredí charakterizovanom variabilitou podobných produktov. Na vyhodnotenie nášho prístupu sme implementovali nástroj QTM-SPL, do ktorého môžu používatelia nahrať nový variant. Po nahraní nového variantu nástroj extrahuje metriky kódu, použije natrénované modely na klasifikáciu rôznych druhov defektov a vytvorí variant špecifický FIG, ktorý vizualizuje všetky metriky s ich označením defektné alebo kvalitné.

Keywords:

Factor Interdependency Graph, Quality Assurance, Defect Prediction, Software Product Lines

Abstract:   

In software development, the efficient management and quality assurance of Software Product Lines (SPL) poses a significant challenge, particularly when detecting and resolving defects across varied product variants. Variants of the same SPL family, while sharing a common core, often diverge in variable features. This divergence leads to significant challenges in defect detection, as each variant may exhibit unique issues not found in others. This thesis introduces a novel approach that strategically employs Factor Interdependency Graphs (FIG) alongside advanced machine learning techniques to address this issue. The approach involves analyzing source code to extract quality-related metrics of software products, which are then utilized to train classification models. These models are adept at identifying potential defects, with the subsequent mapping of these defects onto variant specific FIGs for a comprehensive understanding of the influencing quality factors. This method offers solution for maintaining high-quality standards in an environment characterized by product variability. To evaluate our approach, we developed a tool QTM-SPL, where users can upload new variant. After uploading new variant, the tool will extract code metrics, use trained models to classify different kind of defects and create variant specific FIG, which visualizes all the metrics with their defective or quality label.

Generate random maze and play!

Kontakt

E-mail:

jakub.perdek@stuba.sk

Tel.:

+421 950 567 469