In this issue, we have six regular research papers. The first four are linked by the common theme of software defects and testing, whereas the fifth and sixth provide a review and an empirical study respectively.

In “Fail-safe testing of safety-critical systems: a case study and efficiency analysis”, Ahmed Gario, Anneliese Andrews, and Seana Hagerman propose an approach for testing safety-critical systems based on the behavioural and fault models of the system. The approach leads to an integrated model which then can be used for test generation. The authors have developed a tool that estimates the number of states and transitions to show that the approach is scalable.

Continuing with the theme of software defects, the paper “Predicting failures in agile software development through data analytics” by Feras A. Batarseh and Avelino J. Gonzalez introduces a method to predict software failures and their locations in agile sprints. Experiments showed that the new method for forecasting errors had a good success rate.

In “Towards automation of IT systems repairs”, Janusz Gorski and Marek Kamiński describe a method of automating repairs in systems which can be integrated with any existing monitoring mechanism. A formal language (Z) is used to specify the method which was subsequently validated using a system that supports the operation of several hundred IT systems. The method provides a way ahead for the automation of repairs and monitoring of IT systems.

Rounding off this section on software defects, the next paper acknowledges that software testing can be facilitated by software defect prediction. The paper “Tackling class overlap and imbalance problems in software defect prediction” by Lin Chen, Bin Fang, Zhaowei Shang, and Yuanyan Tang presents a new model to improve defect prediction which involves cleaning the data and then generating balanced subsets so that multiple classifiers can be trained on the data before building the final prediction model. The authors’ experiments showed that the proposed model provides reasonable defect prediction results.

Turning to the requirements stage of software development, the authors Petra Heck and Andy Zaidman consider agile methods in their paper “A Systematic Literature Review on Quality Criteria for Agile Requirements specifications”. Through their systematic literature review, the authors provide recommendations for practitioners who want to verify requirements specifications in an agile way as well as a research agenda for academics that highlight the need for further research in this area.

In “How do Developers React to API Evolution? a Large-Scale Empirical Study”, Andre Hora, Romain Robbes, Marco Tulio Valente, Nicolas Anquetil, Anne Etien, and Stephane Ducasse consider the API evolution of a large software ecosystem. The authors analyzed 118 API changes extracted from frameworks and found that over half of these impacted other systems. They conclude that API changes can have considerable implications for an entire software ecosystem.

I hope you enjoy this issue. If you have any suggestions or comments on this issue, please email me at rachel.harrison@brookes.ac.uk.