Welcome to this special issue that includes empirical studies in Requirements Engineering (RE). RE is a crucial factor for developing high-quality software, systems and services. RE methods, tools and processes are used to engineer systems of different scale and complexity in many domains. Collecting empirical evidence is key in RE research to determine the qualities and evaluating the maturity of the proposed RE solutions, thus fostering further research and paving the way for adoption by practitioners. The selected articles extend research presented at REFSQ ’19, the 25th International Working Conference on Requirements Engineering: Foundation for Software Quality. This 25th anniversary edition of the conference had the theme “Laying the Foundation for Speed and Flexibility in Development” and was held in Essen, Germany, from March 18 to March 21, 2019 (Knauss and Goedicke 2019). Within the high quality papers presented at the conference, five papers stood out as exceptional contributions, both to the theme and the empirical knowledge in the field. These we considered as candidates for this special issue on the best papers of REFSQ ’19.

The selection of the four Technical Design papers and one Scientific Evaluation paper was based on the peer reviews from the conference, discussions with PC members, and the suitability of the work for the empirical software engineering journal. The authors of these candidate papers were invited to prepare a revised and substantially extended version, and to consider as possible extensions additional practical applications determined through case studies or experiments, additional empirical validations, systematic comparisons with other approaches, or sound theoretical foundations. The submitted manuscripts were each peer-reviewed by three reviewers. Finally, three articles could be accepted for inclusion in this special issue.

FormalPara Summary of the papers

This special issue proudly presents the following three papers, which together highlight a broad range of research in the field of Requirements Engineering.

The first article by Florian Pudlitz, Florian Brokhausen, and Andreas Vogelsang on “What Am I Testing and Where? Comparing Testing Procedures based on Lightweight Requirements Annotations” aims to close the gap between requirements and test executions. Based on an existing requirements markup language, annotations can relate requirements to events and signals, which in turn allows to visualize meaningful information from a set of test executions directly in the requirements specification. Based on 443 natural language requirements, linked to more than 1300 test executions in simulation and test drives, the paper shows similarities in test stages and how well test stages and test cases are aligned with requirements.

The second article by Seifeddine Bettaieb, Seung Yeob Shin, Mehrdad Sabetzadeh, Lionel C. Briand, Michael Garceau, and Antoine Meyers on “Using Machine Learning to Assist with the Selection of Security Controls During Security Assessment” develops automated decision support for the identification of security controls that are relevant to a particular system in a specific context. The approach is evaluated based on real historical data from the banking domain, and through a survey with security analysts. The decision support system reaches a high recall of ≈ 94% at a reasonable precision of ≈ 63%, which promises to increase efficiency of identifying relevant security controls and to decrease the likelihood of overlooking important security controls.

The third article by Paul Hübner and Barbara Paech on “Interaction-based Creation and Maintenance of Continuously Usable Trace Links between Requirements and Source Code” proposes an approach to support trace link creation and maintenance. The approach relies on logs of developer-file interaction in an integrated development environment and with a version control system. The article complements this approach with a discussion of trace link maintenance based on a systematic literature review.