Science of Computer Programming 126 (2016) 1–2
Contents lists available at ScienceDirect
Science of Computer Programming www.elsevier.com/locate/scico
Preface to SCP special issue with extended selected papers from SBMF 2014 This special issue of Science of Computer Programming contains extended versions of selected papers from the 17th Brazilian Symposium on Formal Methods (SBMF 2014), held in Maceió, Brazil, from September 29th, 2014, to October 1st, 2014, as part of CBSoft 2014, the 5th Brazilian Conference on Software: Theory and Practice. The Brazilian Symposium on Formal Methods (SBMF) is an event devoted to the dissemination of formal methods for the construction of high quality computational systems, aiming at promoting opportunities for researchers with interests in formal methods to discuss the recent advances in this area. SBMF is a consolidated scientific–technical event in the software area. Its first edition took place in 1998, reaching the 17th edition in 2014. The proceedings of the last editions have been published in Springer’s Lecture Notes in Computer Science as volumes 5902 (2009), 6527 (2010), 7021 (2011), 7498 (2012), 8195 (2013), and 8941 (2014). The conference program of SBMF 2014 included two invited talks and 13 research papers. For this volume, we invited the authors of eight selected papers from SBMF 2014 to submit to this special issue. After an extensive and rigorous reviewing process, in which each paper was reviewed by at least four reviewers, we decided to include five of them in this special issue, which we summarize next. Heterogeneous verification in the context of model driven engineering, by Daniel Calegari, Till Mossakowski, and Nora Szasz, addresses the maintenance of multiple representations in separate domains in the context of Model-Driven Engineering (MDE) and presents how a theoretical environment for formal verification based on institutions can be supported in practice within the Heterogeneous Tool Set (Hets). Hets supports heterogeneous specifications and provides capabilities for monitoring the overall correctness of a heterogeneous proof. The theoretical environment is extended with the definition of an institution for the Object Constraint Language (OCL), and of semantics-preserving translations from the OCL-constrained MDE elements to the core language of Hets. This allows first the verification of basic properties of a specification, and then, using connections between logical domains within Hets for broadening the spectrum of domains, complementary verification properties can be addressed. Towards Turing computability via coinduction, by Alberto Ciaffaglione, formalizes Turing Machines and their operational semantics in the Coq proof assistant using corecursion and coinduction. By combining the formal analysis of converging and diverging computations, via big-step and small-step predicates, this approach allows to certify the correctness of concrete Turing Machines. An immediate application of this methodology is the proof of the undecidability of the halting problem, so that this effort may be seen as a first step towards the formal development of basic computability theory. A family of test selection criteria for Timed Input-Output Symbolic Transition System models, by Alan Moraes, Wilkerson L. Andrade, and Patrícia D.L. Machado, investigates the cost-effectiveness of test selection criteria in test suite reduction for model-based testing of real-time systems, in particular for Timed Input-Output Symbolic Transition Systems (TIOSTS) models. First, 18 test selection criteria for TIOSTS models are defined and formalized in a hierarchy of criteria partially ordered by strict inclusion, including transition-based criteria, data-flow-oriented criteria, and real-time systems criteria. Then, the cost-effectiveness of the criteria was evaluated in an empirical study whose results showed that, despite being a criterion for untimed systems, All-Transition-Pairs was the most cost-effective criterion for test case selection in model-based testing of real-time systems. The authors thus conclude that more cost-effective criteria that explore time-related features of models of real-time systems are still needed. Proof theory for hybrid(ised) logics, by Renato Neves, Alexandre Madeira, Manuel A. Martins, and Luis S. Barbosa, continues a series of papers where the process of logic hybridisation has been introduced as the basis for a specification methodology for reconfigurable systems. Hybridisation is a systematic process along which the characteristic features of hybrid logic, both at the syntactic and the semantic levels, are developed on top of an arbitrary logic framed as an institution. In particular, this paper shows how a proof calculus (in both a Hilbert and a tableau based format) for the hybridised version of a logic can be systematically generated from a proof calculus for the latter. Such developments provide the basis for a complete proof theory for hybrid(ised) logics, and thus paves the way to the development of (dedicated) proof support. http://dx.doi.org/10.1016/j.scico.2016.05.006 0167-6423/© 2016 Published by Elsevier B.V.
2
Preface
In Parameterised three-valued model checking, Nils Timm and Stefan Gruner continue their previous work on parameterised three-valued model checking (PMC) over true, false, and unknown, where unknown parts can be either associated with the constant value unknown or with expressions over boolean parameters. Parameterisation is an alternative way to state that the truth value of certain predicates or transitions is actually not known and that the checked property has to yield the same result under each possible parameter instantiation; it allows for establishing logical connections between parameters such as “a certain pair of transitions has unknown but complementary truth values,” or “the value of a predicate is unknown but remains unchanged along all states of a certain path.” The authors demonstrate that such facts can be automatically derived from the system to be verified and that covering these facts in an abstract model can be crucial for the success and the efficiency of checking temporal logic safety and liveness properties. Parameterisation enhances the precision of three-valued models without increasing their state space, but it leads to an exponential increase in time complexity, since any property of interest must be checked for each possible parameter instantiation. This paper introduces a novel algorithm for direct parameterised three-valued model checking that straightly explores the parameterised state space and thus avoids to construct all instantiations explicitly, as illustrated in example verification tasks where the application of this direct algorithm considerably reduces the time effort of PMC. We want to express our most sincere thanks to all the people who have made this special issue possible: first the authors, who agreed to write extended versions of their work and later incorporated all the corrections and improvements required by a thorough refereeing process; second, the referees, who have kindly contributed their time and effort to ensure the highest quality for each paper; also, Jan A. Bergstra and the editorial staff at Elsevier for agreeing to publish this special issue as a volume of the Science of Computer Programming journal and for all their help in bringing this special issue to publication; finally, our respective families, for their patience while we were devoting time to SBMF (including the informal preproceedings, the LNCS proceedings, and now this special issue) instead of being with them.
Christiano Braga Universidade Federal Fluminense, Niterói, Brazil E-mail address:
[email protected] Narciso Martí-Oliet Universidad Complutense de Madrid, Spain E-mail address:
[email protected] 10 May 2016