Preface to the special issue on improving software quality through program analysis

This special issue is dedicated to the presentation of novel results in the scope of program analysis, verification, and testing of software to improve its quality. The papers included in the special issue present approaches that successfully combine model-based test case generation, reasoning about functional equivalence, data mining, classification, and the combination of abstraction with model-checking, to address real software applications in realistic settings.


Introducing the special issue
Formal methods are paramount to ensure strong guarantees on the correct behavior of software. Based on mathematics and logic, formal methods help practitioners construct technology that can ensure increasingly important concerns such as safety, security, reliability and accountability. This special issue is dedicated to program analysis techniques that can be used to improve the quality of software products.
This special issue was announced during the track on Software Verification and Testing (SVT) at the 34 th ACM/SIGAPP Symposium On Applied Computing (SAC). Following an open call, this issue results in 4 papers that were selected out of 12 submissions after a careful reviewing process. The papers are briefly discussed as follows.
In "Model-Based Test Case Generation from UML Sequence Diagrams using Extended Finite State Machines", Rocha, Simão and Sousa introduce a systematic procedure for the generation of tests from UML models. In particular, they show how to transform UML sequence diagrams into extended finite state machines, which in turn can be used for systematic test case generation.
In "Verification Supported Refactoring of Embedded SQL", Spasić and Janicȋć consider the analysis of refactorings in database-based applications. In particular, they propose an analysis approach that links the semantics of sql queries to the semantics of imperative programs, to reason about functional equivalence of (refactored) sql-based functions.
In "Classification of Application Reviews into Software Maintenance Tasks Using Data Mining Techniques", Al-Hawari, Najadat and Shatnawi consider the problem of automatically classifying mobile applications reviews. In particular, they show how to use associative classification algorithms to investigate the performance of multiple classifiers, in relation to maintenance tasks.
In "Reductions and Abstractions for Formal Verification of Distributed Round-based Algorithms", Barbosa, Fonseca and Araujo consider the problem of applying model checking to round-based algorithms. In particular, they show how to use templates to reduce the modeling effort, and present reduction techniques to mitigate the state-explosion problem.
Collectively, these papers tackle cutting-edge topics thereby appealing to the experts in the field.
Finally, the guest editors thank the authors and the reviewers who contributed to the special issue.
Funding Open Access funding enabled and organized by Projekt DEAL.
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http:// creat iveco mmons. org/ licen ses/ by/4. 0/.
Publisher's Note Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Matthias Güdemann is a professor at the University of Applied Sciences Munich. He holds a Ph.D. in Computer Science from the University of Magdeburg. His research interest includes hardware and software verification, functional programming, automated test-case generation and analysis of distributed systems. He has worked in several companies specializing in using formal methods in different domains.
Leonardo Mariani is a Full Professor at the University of Milano-Bicocca. He holds a Ph.D. in Computer Science received from the same university in 2005. His research interests include software engineering, and in particular software testing, program analysis, automated debugging, specification mining, and selfhealing and self-repairing systems. He has authored more than 100 papers appeared at top software engineering conferences and journals. He has been awarded with the ERC Consolidator Grant in 2015, an ERC Proof of Concept grant in 2018, and he is currently active in several European and National projects. He is regularly involved in organizing and program committees of major software engineering conferences.