
Ralf Gerlich- Professor
- Professor at Furtwangen University
Ralf Gerlich
- Professor
- Professor at Furtwangen University
About
41
Publications
3,404
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
50
Citations
Introduction
Current institution
Additional affiliations
March 2013 - present
Duale Hochschule Baden-Württemberg Ravensburg
Position
- Lecturer
Description
- Regular short workshops in Computer Science on the basics of automated unit testing using automated test data generation and oracles. Supervision and grading of student research projects in Computer Science and Electrical Engineering.
October 2009 - present
Dr. Rainer Gerlich System and Software Engineering
Position
- Senior Researcher
Description
- Research on automation in the software development cycle, focused on embedded software engineering for space systems, including model-driven software engineering, DSL-based tooling, code generation and automated software verification and testing.
December 2005 - October 2009
Education
December 2005 - October 2009
October 2001 - July 2005
Publications
Publications (41)
Space exploration has become an integral part of modern society, and since its early days in the 1960s, software has grown in importance, becoming indispensable for spaceflight. However, software is boon and bane: while it enables unprecedented functionality and cost reductions and can even save spacecraft, its importance and fragility also make it...
This paper presents an approach that uses AI (Artificial Intelligence) to formalize requirements formulated in natural language text. It extracts information to assess the quality and complexity of requirements, to derive inputs for software verification and implementation, and to compare requirements automatically by means of metrics. The intended...
In spacecraft development, initial customer requirements are refined through subsequent engineering phases to meet specific subsystem and operational needs. However, the dynamic nature of requirements, influenced by evolving engineering processes and customer demands, poses challenges. Ensuring requirement quality, interpreting changes, and trackin...
Der Begriff „nicht konformante Software“ bezeichnet Software, die nicht konform
zu anzuwendenden Standards ist wie Open Source Software (OSS). Für große Pakete
von OSS sind nachträgliche Qualifizierungsmaßnahmen oder konforme
Neuentwicklungen aufgrund von Wirtschaftlichkeitsüberlegungen kaum umsetzbar.
Auch im Fall von KI ist eine Entwicklung konfo...
In the activity VeriKI, the partners aimed to consider the possibilities of using a highly-distributed meshed network architecture inside a modular spacecraft based on the iBOSS concept. Meshed networks provide natural redundancy, but for the same reasons also contain link loops which may lead to broadcast storms. Thus routing and specifically adap...
In the activity VeriKI, the partners investigated the use of Machine Learning (ML) both for attitude control and planning of robotic in-orbit assembly and maintenance and possibilities for quality assurance in such contexts. In ML, a fit between a generic mathematical model of a function-typically described by Neural Networks (NNs)-and its desired...
Software development has a problem with transparency/visibility. As an intangible product, software and its intermediate development results are hard to see or touch. Customers of custom software have difficulties checking progress, and risk coming out with costly but low-quality software. In the space domain with its often expensive and one-of-a-k...
ExANT - Extraktion von Anforderungen aus natürlichsprachlichem Text
Im Vorhaben ExANT Extraktion von Anforderungen aus natürlichsprachlichem Text soll demonstriert werden, ob und wie mit Verfahren zur Verarbeitung natürlicher Sprache (Natural Language Processing - NLP) - einem Teilgebiet der KI - diese Übersetzung zuverlässig automatisiert werden...
In the project VeriKI 1 , the partners want to
investigate the possibilities of integrating machine-learningbased
artificial intelligence (AI / ML) and non-standard
conformant software (NCSW) – such as non-qualified Open-
Source-Software (OSS) – in safety-critical systems. As OSS
components the robotic software ROS2 and an implementation
of a dynam...
Communication interfaces are particularly challenging to test using automatically generated test data. The test data sent through the interface must be ”valid enough” to overcome initial sanity checks of the interface and reach functions deep inside the integrated software. Machine-readable information about what data forms ”valid enough” messages...
Various strategies for fault identification exist-e.g. based on formal analysis of code or on testing-of which each focuses on certain identification aspects and fault types. This paper characterises the strengths and weaknesses of methods-in theory and practice-focusing on application-independent identification strategies, and it suggests strategi...
Automated software verification tools support developers in detecting faults that may lead to runtime errors. A fault in critical software that slips into the field, e.g., into a spacecraft, may have fatal consequences. However, there is an enormous variety of free and commercial tools available. Suppliers and customers of software need to have a c...
Untyped data such as the byte streams used in communications between spacecraft and ground stations present a specifically challenging field for automatic test data generation. We investigate variations of genetic algorithms to improve test data generation, and present measurements and preliminary results obtained using our prototype. The future go...
Verification of flight software is expensive, and there is a diverse ecosystem of methods available for suppliers and customers to choose and negotiate. Several commercial tools support certain verification activities. However – while this information is critical for planning a resilient and efficient software verification – it is unclear what thes...
In a previous study six software verification tools have been applied to a representative space software package. The findings reported by each tool have been compared in order to derive footprints regarding fault identification. In a continuation three more tools were applied to the previously selected application software and to another applicati...
Mit Softwareverifikationswerkzeugen sollen Fehler in Software gefunden werden. Doch gibt es nur spärliche Information über das, was die Werkzeuge wirklich leisten. Meistens liegt nur die Beschreibung des Herstellers vor, an der sich ein Anwender (grob) orientieren kann. So werden Werkzeuge eher nach Bedienerfreundlichkeit oder Verbreitung in der So...
Space software may contain faults. However, as faults onboard a spacecraft might develop into extremely costly software and system failures during a mission, every effort is made to remove faults before costly failures commence. One building block of prevention methods is to reduce the risk of occurrence of runtime errors through verification. Ther...
Six software verification tools have been applied to
space flight software and the findings reported by each tool
have been compared in order to derive footprints of the tools
regarding capabilities of fault identification. Currently
available results are provided in this paper: sensitivity and
precision of individual tools and combinations of pair...
Mastering the continuously increasing amount of software requires identification of more efficient strategies for software verification. Currently, fault coverage is only indirectly addressed, e.g. by code coverage. The idea as presented in this paper is to get a better understanding of fault coverage by a systematic classification of software faul...
We present an example for application of Constraint Handling Rules to
automated test data generation and model checking in verification of mission
critical software for satellite control.
We give an overview over the principles of constraint-based test data generation, discuss its limitations and potentials and touch some of the domains which may be interesting to combine with constraint-based testing techniques. Automated generation of test data is an example where this technique can be applied and significantly increase the degree...
We present a new method for automatic test data generation (ATDG) applying to semantically annotated control-flow graphs (CFGs), covering both ATDG based on source code and assembly or virtual machine code. The method supports a generic set of test coverage criteria, including all structural coverage criteria currently in use in industrial software...
We present a new constraint-based method for generating test data for code-based unit testing. The method allows for the first time to combine strategies of path search on control flow graphs, and introduces new strategies. Annotations on the control flow graph describe the instructions inside the graph nodes and are automatically derived from the...
Research has brought a number of different methods for automated test and test data generation in the last decades. These methods range from simple applications such as random testing, to complex analysis systems, such as constraint-based methods. While research on these methods has been extensive, industrial application to large-scale systems is s...
The intention of this paper is to highlight the benefits of model exchange between different tools, methods and notations on one side, and to identify issues of proper modelling on the other side which have been detected during model transformation and code generation from models. Firstly, model transformation is applied to achieve diversification...
Statistical testing is of increasing interest because it allows full test automation – from test generation to evaluation -and hence reduces significantly the human test effort, while allowing a much broader test range. However, automatically generated tests based on a statistical approach have to cope with the "oracle problem" and the "small targe...
The term "automation" is used in different meanings in context of software development. In our understanding "automated software production" covers what Edison identifies as "99% transpiration". Then only the "1% inspiration" is left to the engineer to provide the specification and to read the evaluation report on a system's properties for its vali...