Publications

2018
Evaluating Automated Software Verification Tools🔗
Prause, C.; Gerlich, R.; Gerlich, R.
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 clear understanding what tools suit the needs and expectations in their domain. We selected six tools (Polyspace, QA C, Klocwork, and others) and applied them to real-world spacecraft software. We collected reports from all the tools and manually verified whether they were justified. In particular, we clocked the time needed to confirm or disprove each report. The result is a profile of true and false positive and negative reports for each tool. We investigate questions regarding effectiveness and efficiency of different tools and their combinations, what the best tool is, if it makes sense at all to apply automated software verification to well-tested software, and whether tools with many or few reports are preferable.
software testing, static analysis, verification, tool evaluation, false positive, false negative, precision, recall, fault detection, software failure
2018
Emperor's New Clothes: Transparency through Metrication in Customer-Supplier Relationships🔗
Prause, C.; Hönle, A.
Space projects, and development of software embedded in these systems, are complex, sometimes costing hundreds of millions of Euros and involving several tiers of suppliers. An important means of improving mutual understanding is to increase transparency of the development status between customers and suppliers. We raise the problem of transparency in complex projects to the reader's attention, and, relying on results of a small survey of practitioners, propose to use ECSS software metrics/KPIs as a mitigation. We present our metrication infrastructure, and describe issues to be considered when implementing an early metrication programme in a real-world, industry space project.
software metrication, management, customer-supplier transparency, embedded software, aerospace, ECSS, KPI, metrics
2018
DE: Status Quo Agiler Software-Entwicklung in der Europäischen Institutionellen Raumfahrt🔗
EN: Status Quo of Agile Software Development in the European Institutional Space Flight🔗
Brüggemann, S.; Prause, C. R.
DE: Die institutionelle Raumfahrt nimmt zunehmend die Bedeutung agiler Entwicklungsmethoden wahr. Dies geht einher mit einer Veränderung hin zu NewSpace Produkten und -Technologien. Hier sind insbesondere kurze Entwicklungszyklen und Flexibilität wichtig. Zusammen mit Industriepartnern verabschieden sowohl die europäische (ESA) als auch die deutsche Raumfahrtagentur (DLR) derzeit zwei Artefakte, welche einen Grundstein für agile Entwicklung in der institutionellen Raumfahrt legen werden: (1) Ein ECSS Standard (Handbuch) zu agiler Softwareentwicklung hat das öffentliche Review passiert und befindet sich nun in der Fertigstellung, und (2) nimmt das Raumfahrtmanagement des DLR erstmals einen Satz von Anforderungen für Lieferanten in seine Produktsicherungsanforderungen auf, welche auf agile Entwicklung ausgerichtet sind. Die hier vorliegende Zusammenfassung eines Vortrags auf dem diesjährigen Deutschen Luft- und Raumfahrt Kongress beschreibt die Eigenschaften agiler Entwicklung, stellt die zwei Artefakte vor und zeigt damit auf, wie sich agile Entwicklung in die Rahmenwerke institutioneller Raumfahrt einbinden lassen kann. Die Raumfahrt-Community nimmt das Thema sowohl mit Interesse als auch kritischen Fragen zu möglichen Folgen (z.B. Qualität, Vertragsgestaltung) auf.
EN: Institutional space flight is increasingly realizing the importance of agile development methods. This goes hand in hand with a shift to NewSpace products and technologies. Here especially short development cycles and flexibility are important. Together with industrial partners, both the European Space Agency (ESA) and the German Space Agency (DLR) currently have two artifacts that lay the foundation for Agile development in institutional space will be: (1) An ECSS standard (handbook) on agile software development has passed the public review and is now being finished, and (2) for the first time, space management at DLR has adopted a set of requirements for suppliers in its product assurance requirements that are geared towards agile development. The present summary of a presentation at this year's German Aerospace Congress briefly describes agile development, introduces the two artifacts and shows how agile development can be integrated into the framework institutional spaceflight. The space community takes the theme both with interest and critical questions on possible consequences (e.g., quality, contract design).
Space flight, agile software development, software engineering, NewSpace, ECSS, ECSS-E-HB-40-01A, space agencies, product assurance, quality
2017
Is 100% Test Coverage a Reasonable Requirement? Lessons Learned from a Space Software Project🔗
Prause, C. R., Werner, J., Hornig, K., Bosecker, S., Kuhrmann, M.
To ensure the dependability and safety of spaceflight devices, rigorous standards are defined. Among others, one requirement from the European Cooperation for Space Standardization (ECSS) standards is 100% test coverage at software unit level. Different stakeholders need to have a good knowledge of the implications of such a requirement to avoid risks for the project that this requirement might entail. In this paper, we study if such a 100% test coverage requirement is a reasonable one. For this, we interviewed the industrial developers who ran a project that had the sole goal of achieving 100% unit test coverage in a spaceflight software. We discuss costs, benefits, risks, effects on quality, interplay with surrounding conditions, and project management implications. We distill lessons learned with which we hope to support other developers and decision makers when considering a 100% unit test coverage requirement.
Validation and verification, software quality, unit testing, test coverage, expert interviews, spaceflight, software criticality, process requirements
2016
Software Product Assurance at the German Space Agency🔗
Prause, C.R.; Bibus, M.; Dietrich, C.; Jobi, W.
The DLR Space Administration designs and implements the German space program. While project management rests with the agency, suppliers are contracted for building the space devices and their software. As opposed to many other domains, these are often unique devices with uncommon and custom-built peripherals. Its software is specifically developed for a single mission only and controls critical functionality. A small coding error can mean the loss of a mission. For this reason, customer and supplier collaborate to improve products and processes to achieve better software at the end of a project. We discuss quality in the context of space projects, and report a cross-sectional view from a customer's perspective on various management tools for influencing suppliers' processes and product quality: standards, single-source tailoring and cross-company product assurance.
software quality; software process; product assurance; management; spaceflight; tailoring; cross-company product quality management
2015
Gamification for Enforcing Coding Conventions🔗
Prause, C.; Jarke, M.
Software is a knowledge intensive product, which can only evolve if there is effective and efficient information exchange between developers. Complying to coding conventions improves information exchange by improving the readability of source code. However, without some form of enforcement, compliance to coding conventions is limited. We look at the problem of information exchange in code and propose gamification as a way to motivate developers to invest in compliance. Our concept consists of a technical prototype and its integration into a Scrum environment. By means of two experiments with agile software teams and subsequent surveys, we show that gamification can effectively improve adherence to coding conventions.
software development, source code, code quality, gamification, internal quality, coding rules
2012
Architectural Design and Documentation: Waste in Agile Development?🔗
Prause, C.R.; Durdik, Z.
There is a problem with documentation and architectural design in agile projects. This is the result of interviews we have conducted with 37 software engineering experts from industry and academia. In our paper, we analyze the interview results and the origins of the revealed issues. We propose ways to integrate software design methodologies into agile development, and reputation mechanism to solve documentation problems. The contributions of this paper are (i) an investigation of expert opinions on design and documentation problems, (ii) an analysis of problem origins, and (iii) proposals for future improvements of agile processes.
software, agile development, software development, quality, survey
2011
MICA - A Mobile Support System for Warehouse Workers🔗
Prause, C.R.; Jentsch, M.; Eisenhauer, M.
Thousands of small and medium-sized companies world-wide have non-automated warehouses. Picking orders are manually processed by blue-collar workers; however, this process is highly error-prone. There are various kinds of picking errors that can occur, which cause immense costs and aggravate customers. Even experienced workers are not immune to this problem. In turn, this puts a high pressure on the warehouse personnel. In this paper, the authors present a mobile assistance system for warehouse workers that realize the new Interaction-by-Doing principle. MICA unobtrusively navigates the worker through the warehouse and effectively prevents picking errors using RFID. In a pilot project at a medium-sized enterprise the authors evaluate the usability, efficiency, and sales potential of MICA. Findings show that MICA effectively reduces picking times and error rates. Consequentially, job training periods are shortened, while at the same time pressure put on the individual worker is reduced. This leads to lower costs for warehouse operators and an increased customer satisfaction
assistance system, Interaction-by-Doing, positioning, RFID, warehouse
2011
Reputation-based self-management of software process artifact quality in consortium research projects🔗
Prause, C.
This paper proposes a PhD research that deals with improving internal documentation in software projects. Software developers often do not like to create documentation because it has few value to the individual himself. Yet the purpose of internal documentation is to help others understand the software and the problem it addresses. Documentation increases development speed, reduces software maintenance costs, helps to keep development on track, and mitigates the negative effects of distance in distributed settings. This research aims to increase the individuals' motivation to write documentation by means of reputation. The CollabReview prototype is a web-based reputation system that analyzes artifacts of internal documentation to derive personal reputation scores. Developers making many good contributions will achieve higher reputation scores. These scores can then be employed to softly influence developer behavior, e.g. by incentivizing them to contribute to documentation with social rewards. No strict rule enforcement is necessary.
software, software development, quality, gamification, reputation system, software artifacts, self-organization, CollabReview
2010
Empirical Study of Tool Support in Highly Distributed Research Projects🔗
Prause, C.R.; Reiners, R.; Dencheva, S.
The EU subsidizes research projects in the ICT area with hundreds of millions of Euros per year with the aim of strengthening Europe's global competitiveness. A key requirement of EU projects is the involvement of partners from at least three different countries. This leads to highly distributed software environments where company, country, and culture boundaries run in the midst of tasks like requirements engineering, architectural design, implementation or testing. We present results from an empirical study involving more than 50 transnational, multi-million Euro projects of the Sixth Framework Programme. The results show which tools are accepted by developers and used in practice in the respective phases of the software process. Finally, we shape the idea of Research Software Engineering.
software engineering, empirical study, survey, software metrics, static analysis, software quality, software quality assurance, research software engineering, FP6, requirements engineering
2007
Interconnecting Documentation - Harnessing the different powers of current documentation tools in software development🔗
Prause, C.; Kuck, J.; Apelt, S.; Oppermann, R.; Cremers, A.B.
Current software documentation tools (like text processors, email, documentation generators, reporting, configuration management, wikis) have different strengths in supporting the software engineering process. But one weakness they all have in common is their inability to combine the advantages of the various techniques. Integrating documentation with diverse origins would enhance the force of expression and compensate individual failings of the different techniques. In this paper, we present a new brand of documentation utilities --- exemplified by the \dendron-system --- that overcomes current problems with documentation. By processing information at negligible cost that common tools ignore, our system represents an efficient way of improving software documentation.
CASE, collaboration, software quality, document management, hypermedia, information retrieval, knowledge management, software engineering, documentation
Sorry, incomplete... I'm still looking into what the best way to do this would be...
Back to root