Formal Aspects of Computing (2003) 14: 342–368 c 2003 BCS Formal Aspects of Computing On Closure Under Stuttering Dimitrie O. P˘ aun and Marsha Chechik Department of Computer Science, University of Toronto, Toronto, Ontario, Canada Abstract. For over a decade, researchers in formal methods have tried to create formalisms that permit natural specification of systems and allow mathematical reasoning about their correctness. The availability of fully automated reasoning tools enables non-experts to use formal methods effectively – their responsibility reduces to specifying the model and expressing the desired properties. Thus, it is essential that these properties be represented in a language that is easy to use, sufficiently expressive and succinct. Linear-time temporal logic (LTL) is a formalism that has been used extensively by researchers for program specification and verification. One of the desired properties of LTL formulas is closure under stuttering. That is, we do not want the interpretation of formulas to change over traces where some states are repeated. This property is important from both practical and theoretical prospectives; all properties which are closed under stuttering can be expressed in LTL −X – a fragment of LTL without the ‘next’ operator. However, it is often difficult to express properties in this fragment of LTL. Further, determining whether a given LTL property is closed under stuttering is PSPACE-complete. In this paper, we introduce a notion of edges of LTL formulas and present a formal theory of closure under stuttering. Edges allow natural modelling of systems with events. Our theory enables syntactic reasoning about whether the resulting properties are closed under stuttering. Finally, we apply the theory to the pattern-based approach of specifying temporal formulas. Keywords: Closure under stuttering; Event-based systems; LTL; Model-checking 1. Introduction Formal specification of systems has been an active area of research for several decades. From finite-state machines to process algebras to logics, researchers try to create formalisms that would permit natural specification of systems and allow mathematical reasoning about their correctness. Most of the research styles which were developed as the result of this research can be broadly classified into two categories: requirements specification and system specification [Pnu86]. In the requirements style of specification, the system is specified by a list of properties (or requirements) that it should satisfy. Usually, a designer starts with an informal list of requirements provided by the client. These requirements are translated into an appropriate formalism [Pnu92]. The system is then modelled (usually in another language) without the formal dependence on the requirements. Once the modelling of the Correspondence and offprint requests to : Marsha Chechik, Department of Computer Science, University of Toronto, Toronto, ON M5S 2G4, Canada. Email: chechik@cs.toronto.edu