About
47
Publications
16,687
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
1,087
Citations
Introduction
Current institution
Publications
Publications (47)
Context: Bad requirements quality can cause expensive consequences during the software development lifecycle, especially if iterations are long and feedback comes late. Objectives: We aim at a light-weight static requirements analysis approach that allows for rapid checks immediately when requirements are written down. Method: We transfer the conce...
Context] Requirements Engineering (RE) artifacts are central items in software development: Their quality is of essential importance for development, testing and other software engineering activities. However, as requirements artifacts are used differently in different processes, the proper definition of what is good quality depends on the context...
Background] Requirements Engineering is crucial for project success, and to this end, many measures for quality assurance of the software requirements specification (SRS) have been proposed. [Goal] However, we still need an empirical understanding on the extent to which SRS are created and used in practice, as well as the degree to which the qualit...
[Context] The quality of requirements engineering artifacts, e.g. requirements specifications, is acknowledged to be an important success factor for projects. Therefore, many companies spend significant amounts of money to control the quality of their RE artifacts. To reduce spending and improve the RE artifact quality, methods were proposed that c...
Context: Conditional statements like “If A and B then C” are core elements for describing software requirements. However, there are many ways to express such conditionals in natural language and also many ways how they can be interpreted. We hypothesize that conditional statements in requirements are a source of ambiguity, potentially affecting dow...
Context: Conditional statements like "If A and B then C" are core elements for describing software requirements. However, there are many ways to express such conditionals in natural language and also many ways how they can be interpreted. We hypothesize that conditional statements in requirements are a source of ambiguity, potentially affecting dow...
[Context:] Causal relations (e.g., If A, then B) are prevalent in functional requirements. For various applications of AI4RE, e.g., the automatic derivation of suitable test cases from requirements, automatically extracting such causal statements are a basic necessity. [Problem:] We lack an approach that is able to extract causal relations from nat...
[Context:] Causal relations (e.g., If A, then B) are prevalent in functional requirements. For various applications of AI4RE, e.g., the automatic derivation of suitable test cases from requirements, automatically extracting such causal statements are a basic necessity. [Problem:] We lack an approach that is able to extract causal relations from nat...
Requirements engineering (RE) is widely considered one of the most difficult and risky activities in software and systems engineering. Since RE requires communication, and despite other ideas and experiments, tasks around textual content remains at the center of the RE for most projects. With a daily evolving field of natural language processing (N...
Background: The artifacts used in Agile software testing and the reasons why these artifacts are used are fairly well-understood. However, empirical research on how Agile test artifacts are eventually designed in practice and which quality factors make them useful for software testing remains sparse.
Aims: Our objective is two-fold. First, we ide...
Background: The artifacts used in Agile software testing and the reasons why these artifacts are used are fairly well-understood. However, empirical research on how Agile test artifacts are eventually designed in practice and which quality factors make them useful for software testing remains sparse. Aims: Our objective is two-fold. First, we ident...
[Context] Requirements quality can have a substantial impact on the effectiveness and efficiency of using requirements artifacts in a development process. Quantifiers such as “at least”, “all”, or “exactly” are common language constructs used to express requirements. Quantifiers can be formulated by affirmative phrases (“At least”) or negative phra...
Context: Requirements quality can have a substantial impact on the effectiveness and efficiency of using requirements artifacts in a development process. Quantifiers such as "at least", "all", or "exactly" are common language constructs used to express requirements. Quantifiers can be formulated by affirmative phrases ("At least") or negative phras...
Semantic similarity information supports requirements tracing and helps to reveal important requirements quality defects such as redundancies and inconsistencies. Previous work has applied semantic similarity algorithms to requirements, however, we do not know enough about the performance of machine learning and deep learning models in that context...
The assessment of new vulnerabilities is an activity that accounts for information from several data sources and produces a `severity' score for the vulnerability. The Common Vulnerability Scoring System (\CVSS) is the reference standard for this assessment. Yet, no guidance currently exists on \emph{which information} aids a correct assessment and...
The assessment of new vulnerabilities is an activity that accounts for information from several data sources and produces a 'severity' score for the vulnerability. The Common Vulnerability Scoring System (CVSS) is the reference standard for this assessment. Yet, no guidance currently exists on which information aids a correct assessment and should...
The quality of requirements engineering artifacts is widely considered a success factor for software projects. Currently, the definition of high-quality or good RE artifacts is often provided through normative references, such as quality standards, textbooks, or generic guidelines. We see various problems of such normative references: (1) It is har...
Requirements are usually documented, and natural language is still the primary choice of syntax. However, in particular with natural language, the quality of the documentation is a key success factor for projects. To keep this risk in check, projects apply manual quality assurance in the form of reviews. Due to the shortcomings of manual reviews, m...
[Context:] The quality of requirements engineering artifacts, e.g. requirements specifications, is acknowledged to be an important success factor for projects. Therefore, many companies spend significant amounts of money to control the quality of their RE artifacts. To reduce spending and improve the RE artifact quality, methods were proposed that...
The number of papers and articles on goals would suggest that goal-oriented requirements engineering is a well understood and mature area within the requirements engineering discipline. In particular, there is a wealth of published material on formal goal modelling approaches. However, the uptake of the goal approaches advocated by academics and re...
Background: Requirements Engineering is crucial for project success, and to this end, many measures for quality assurance of the software requirements specification (SRS) have been proposed. Goal: However, we still need an empirical understanding on the extent to which SRS are created and used in practice, as well as the degree to which the quality...
Requirements artifacts build the basis for various software engineering activities, such as development, testing or effort estimations. As such, the quality of requirements artifacts impacts the efficiency and effectiveness of these activities. Consequently, requirements artifacts should be subject to quality assurance (QA).
Unfortunately, QA of re...
Requirements are usually categorized in functional requirements (FRs) and quality requirements (QR). FRs describe " things the product must do " while QRs describe " qualities the product must have ". Besides the definition, classification, and representation problems identified by Glinz, there are two further problems with current definitions of q...
Performance requirements play an important role in software development. They describe system behavior that directly impacts the user experience. Specifying performance requirements in a way that all necessary content is contained, i.e., the completeness of the individual requirements, is challenging, yet project critical. Furthermore, it is still...
Automotive software systems are often characterized by a set of features that are implemented through a network of communicating components. It is common practice to implement or adapt features by an ad hoc (re)use of signals that originate from components of another feature. Thereby, over time some components become so-called implicit communal com...
[Context & motivation] Requirements for automotive software systems are predominately documented in natural language and often serve as a basis for the following development process. Therefore, requirements artifact quality is important. Requirements often contain references to specific states of a system, which we call modes (e.g., " While the sys...
Many requirements engineering approaches structure and specify requirements based on the notion of modes or system states. The set of all modes is usually considered as the mode model of a system or problem domain. However, it is neither clear how such a mode model can be elicited systematically, nor whether it is realistic to elicit a mode model f...
Requirements change and so (should) do requirements artifacts, such as use cases. However, we have little knowledge about which changes requirements engineers actually perform on use cases. We do not know what is changing, at which locations use cases change and need a deeper understanding of which changes are problematic in terms of difficult or r...
Research transfer projects should be beneficial and inspiring for both, the academic as well as the industrial partners. If the setting is inadequate they can, however, also be a source of frustration and a waste of time and money for all parties. In the last decade, the Chair of Software and Systems Engineering at Technische Universität M ¨ unchen...
Latent Semantic Indexing (LSI) is an accepted technique for information retrieval that is used in requirements tracing to recover links between artifacts, e.g., between requirements documents and test cases. However, configuring LSI is difficult, because the number of possible configurations is huge. The configuration of LSI, which depends on the u...
Maintenance of unused features leads to unnecessary costs. Therefore, identifying unused features can help product owners to prioritize maintenance efforts. We present a tool that employs dynamic analyses and text mining techniques to identify use case documents describing unused features to approximate unnecessary features. We report on a prelimin...
Context: The requirements specification is a central arte-fact in the software engineering (SE) process, and its quality (might) influence downstream activities like implementation or testing. One quality defect that is often mentioned in standards is the use of passive voice. However, the con-sequences of this defect are still unclear. Goal: We ne...
The organization of projects with distributed teams is a demanding task for every project manager. Requirements need to be collected, documented, and discussed, and the resulting tasks must be distributed to the responsible sites. These activities require an efficient and continuous communication. Furthermore, it is necessary to monitor a project a...
Bad requirements quality can have expensive consequences during the software development lifecycle. Especially, if iterations are long and feedback comes late - the faster a problem is found, the cheaper it is to fix.
We propose to detect issues in requirements based on requirements (bad) smells by applying a light-weight static requirements analys...
Context: For many years, researchers and practitioners have been proposing various methods and approaches to Requirements Engineering (RE). Those contributions remain, however, too often on the level of apodictic discussions without having proper knowledge about the practical problems they propagate to address, or how to measure the success of the...
Background/Context: The objective of achieving higher sustainability in our lifestyles by information and communication technology has lead to a plethora of research activities in related fields. Consequently, Software Engineering for Sustainability (SE4S) has developed as an active area of research. Objective/Aim: Though SE4S gained much attention...
The job profile of a Software Engineer not only includes so-called “hard-skills” (e.g. specifying, programming, or building architectures) but also “soft skills” like awareness of team effects and similar human factors. These skills are typically hard to teach in classrooms, and current education, hence, mostly focuses on hard rather than soft skil...
The quality of requirements artifacts, such as software requirements specifications, is crucial for the success of a software development project, because the later a defect is found the more expensive it is to fix. However, as virtually all requirements are still written in natural language, and requirements artifacts grow often large, they are ve...
While the research community has started working on sustainable software engineering recently, one question that is often asked still remains unanswered: who are the stakeholders? Who are the people who actually have an interest in improving the sustainability of a specific software system or of the discipline of software engineering itself? And wh...
Exchangeability between software components such as operating systems, middleware, databases, and hardware components is a common requirement in many software systems. One way to enable exchangeability is to promote indirect use through a common interface and an implementation for each component that wraps the original component. As developers use...
Motivation: Software systems as we know them often have a economic purpose and/or fulfill human or social needs of their users. The economic purpose is analysed by economy itself; the latter goals are analysed in software engineering by user-centric techniques, such as service orientation. Yet, as software systems have an impact on the environment,...
The requirements engineering (RE) conference is turning 21, our conference is "grown up" now. We take this as a motivation to rethink our responsibility for this conference, and to prepare the path for sustainable RE conferences for future generations. Although sustainability has been broached as conference topic in RE'08, hardly any long-lasting c...
To create a common understanding of a software system, for users and developers, we believe that run-time visualization of both behavior and internal structure is critical. This is particularly true for distributed embedded systems, which are designed to be unobtrusive, making them difficult to comprehend for people who are not familiar with them....