Marc Herschel

Marc Herschel

Publications

Sample solutions in Graja as a mechanism for regression testing

Original Title: Musterlösungen in Graja als Mechanismus für Regressionstests
Type: Bachelor Thesis
Keywords: Graja (automated grader), software engineering, software tests, regression testing
Language: German
Date: 17.08.2020
Author: Marc Herschel
Download Thesis - Local Mirror - Download Slides

Translated Abstract

The automated grader Graja, which is used in teaching to evaluate student Java programs, represents a complex software system. Due to a hardly existing test coverage by module and integration tests, the guarantee of error-free functionality with regard to further development is not guaranteed. Since Graja is based on the ProFormA task format, the question arises to what extent the sample solutions assumed in the ProFormA task format, are suitable for an automated regression testing mechanism.

The goal of this research is to create a concept for such a regression testing mechanism as well as putting it into practice with the help of a reference implementation as a Graja extension. The resulting testing mechanism operates by behavioral recording and behavioral comparison, thus converting the evaluation behavior of a sample solution observed in Graja into a test case. In the test phase, a comparison of the target behavior of a test case and the actual observed behavior of a sample solution takes place subsequently. The differences of this comparison are to be treated as potential regressions, since they represent a semantic change of the evaluation result.

In order to implement this behavioral comparison robustly and with as few false alarms as possible, the data models used in Graja were investigated for suitability with respect to a behavioral recording. In addition, a data recording with a subset of the sample solutions took place. Subsequently, an analysis of this raw data was performed with the goal of detecting potential noise within the recordings. This ultimately allowed a strategy to be developed for noise reduction within the behavioral recordings.

Finally, a data model was developed that allows the regressions detected through behavioral matching to be represented in an understandable and localizable manner. The automated regression testing mechanism created by this thesis thus provides a basis for ensuring proper evaluation functionality within the Graja development process. By detecting regressions using the sample solutions, changes to Graja can now be conscientiously adopted into a production environment.

Usage of sample solutions for automatic regression testing of auto-evaluators for programming tasks

Original Title: Einsatz von Musterlösungen für automatische Regressionstests von Autobewertern für Programmieraufgaben
Type: Report
Keywords: e-learning, software tests, programming, computer assisted learning
Language: German
Date: 18.10.2021
Author: Robert Garmann, Marc Herschel
Download Report - Local Mirror

Translated Abstract

Automatic evaluation systems for programming tasks (graders) are complex software systems. Automatically performed regression tests can uncover potential defects in the grader at low cost. In this paper, we will describe how sample solutions can act as input data for automatic regression tests. Thus, we are concerned with presenting a solution to a software engineering problem for e-learning systems. We consider which features of the ProFormA task format can be used for automatic regression testing and propose extensions to the format. The paper describes the exemplary implementation of an automatic black box system test for the Graja auto-evaluator and addresses, among other things, the design of a record-playback procedure, a fuzzy target-actual comparison, and the issue of localizability of detected regressions.

An introduction to regression testing

Original Title: Eine Einführung in die Regressionstests
Type: Seminar Paper
Keywords: regression testing, software testing, software engineering
Language: German
Date: 20.12.2020
Author: Marc Herschel
Download Paper - Download Slides

Translated Abstract

Software development is a lengthy and complex process in which the quality of the product to be developed plays a decisive role. Because the software development process involves various stakeholders and is an iterative process, quality assurance measures must be taken in order to deliver a product that meets the requirements of the customer. One of these quality assurance measures is software testing, which is used to validate the software in relation to its intended use. In this paper to the already held presentation the generic term of the software tests does not stand in the foreground, instead an insight into the subset of the regression tests is given. Regression tests differ in their basic mode of operation from the widely used module and integration tests, but are nevertheless a cornerstone of software quality assurance.

DashPay as an example of a decentralized, user-friendly payment system

Original Title: DashPay als Beispiel für ein dezentrales, nutzerfreundliches Zahlungssystem
Type: Seminar Paper
Keywords: blockchain, Dash, DashPay, cryptocurrencies. decentralized applications
Language: German
Date: 27.05.20202
Author: Marc Herschel
Download Paper - Download Slides

Translated Abstract

Since the last few years, the adoption of cryptocurrencies by the general population has been steadily increasing. However, a high technical barrier to entry remains for the average user to successfully and securely conduct transactions. In order to continue to drive the mass adoption of cryptocurrencies, it is necessary to offer a simpler and more fail-safe way to conduct transactions than is currently possible via ordinary wallets. The blockchain project Dash is currently developing Dash Platform, an approach for realizing decentralized applications. In contrast to better-known projects such as Ethereum, in which smart contracts are realized through program code on the blockchain, Dash relies on a data-oriented approach (data contracts). This means that the application logic is outsourced to the clients, while the application data is stored in a separate blockchain. In this paper, the technology behind Dash Platform is presented on the basis of DashPay. It also covers the basic building blocks that make DashPay possible, such as identities and the Dash Platform Name Service (DPNS). DashPay is a data contract in which users can uniquely identify themselves via a username and send contact requests to each other. Contacts can thus establish bidirectional, direct payment channels between each other. DashPay thus enables simple, fast and secure payments via the Dash network. DashPay users will no longer need to exchange long and confusing public addresses in order to process payments with their contacts.

Bitcoin Security

Original Title: Bitcoin Sicherheit
Type: Seminar Paper
Keywords: Bitcoin, IT security, blockchain, cryptocurrencies
Language: German
Date: 07.06.2019
Author: Marc Herschel
Download Paper - Download Slides

Translated Abstract

We investigate the security of the cryptocurrency Bitcoin and deal with both the security principle of this new type of currency and the associated security risks for end users. This paper deals with attacks on the payment network itself, such as DoS attacks, Sybil attacks, the 51% attack in its various forms, and game-theoretic attacks, as well as risks for the end user when using Bitcoin in everyday life and problems with their privacy and the risks that a decentralized system entails. A decentralized system is in its nature transparent to all participants, and it can be assumed that governments, intelligence agencies and criminals also try to gain influence here. The aim of this paper is to find out how Bitcoin compares to traditional centralized payment systems in terms of security and whether new attacks and problems emerge with the decentralization, which could undermine the network or reveal the pseudonymous payment participants.