Ralf Gerlich

Ralf Gerlich
Dr. Rainer Gerlich System and Software Engineering

Dr. rer. nat.

About

32
Publications
2,054
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
37
Citations
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
University of Ulm
Position
  • PhD Student
Description
  • Doctorate research about constraint-based test-data generation, which resulted in a framework applicable to imperative programming languages and providing extension points for using static program information, such as from data flow analysis.
Education
December 2005 - October 2009
Ulm University
Field of study
  • Computer Science - Constraint-based Automatic Test Data Generation
October 2001 - July 2005
Ulm University
Field of study
  • Computer Science - Random Test Data Generation

Publications

Publications (32)
Conference Paper
Full-text available
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...
Conference Paper
Full-text available
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...
Conference Paper
Full-text available
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...
Conference Paper
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...
Poster
Full-text available
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...
Conference Paper
Full-text available
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...
Conference Paper
Full-text available
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...
Article
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...
Conference Paper
Full-text available
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...
Conference Paper
Full-text available
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...
Article
Full-text available
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.
Article
Full-text available
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...
Article
Full-text available
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...
Article
Full-text available
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...
Article
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...
Article
Full-text available
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...
Article
Full-text available
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...
Article
Full-text available
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...

Network

Cited By

Projects

Projects (7)
Project
The activity aims to find methods for verifying applications of artificial intelligence with robot components in modular, decentralised systems for the use in space. The project is carried out together with the partners FZI Research Center for Information Technology in Karlsruhe, Germany and the institute for aerospace informatics of the University of Würzburg, Germany, with FZI coordinating.
Project
The goal is to develop and evaluate methods for automated source-code-level testing of software deriving test data from requirements. Automatic derivation of test data requires formal input specifications, while currently, many specifications are still written in free-form text. Any new form of expression would have to satisfy the needs of the requirements engineers of being comprehensible, concise and flexible in expression, as well as the needs of the verification process of conveying a clear-cut and unique meaning accessible to software tools.
Project
While coverage is not the end-all of software testing, finding defects in code by testing is impossible without actually executing the code. Evolutionary algorithms may be a middle ground between stimulation with purely random data and algebraic methods for determining test inputs such as constraint-based test data generation. In a first step, the project aims to evaluate the feasibility of using genetic algorithms in generating test data for code decoding and validating telecommands inside space-borne software systems. Such code usually accepts the telecommands as otherwise untyped byte-streams, so that using random test data is usually inefficient and ineffective with regards to excercising non-trivial elements of the code.