{"title":"A formalism for conformance analysis and its applications","authors":"T. Nguyen, E. Munson","doi":"10.1109/SEFM.2004.1","DOIUrl":"https://doi.org/10.1109/SEFM.2004.1","url":null,"abstract":"Software development is a dynamic process where engineers constantly refine their systems. As a consequence, all software artifacts and their logical relationships evolve. At times, the evolutionary changes may reduce the consistency of the software project and break semantic connections among documents. We use the term conformance to denote the state where the network formed by software documents and their relationships is in semantic harmony. Conformance analysis is the process of determining whether software documents and their logical relationships are in agreement. In our previous research, we have developed a formalism that can be used to verify strategies to conformance analysis. In this paper we describe modifications to that formalism, and its applications to build conformance analysis tools in an integrated development environment that is extensible to incorporate new conformance analysis strategies and to combine multiple strategies together.","PeriodicalId":207271,"journal":{"name":"Proceedings of the Second International Conference on Software Engineering and Formal Methods, 2004. SEFM 2004.","volume":"141 1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-09-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123578878","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Fault tolerance in a layered architecture: a general specification pattern in B","authors":"L. Laibinis, E. Troubitsyna","doi":"10.1109/SEFM.2004.16","DOIUrl":"https://doi.org/10.1109/SEFM.2004.16","url":null,"abstract":"Dependable control systems are usually complex and prone to errors of various natures. Such systems are often built in a modular and layered fashion. To guarantee system dependability, we need to develop software that is not only fault-free but also is able to cope with faults of other system components. In this paper we propose a general formal specification pattern that can be recursively applied to specify fault tolerance mechanisms at each architectural layer. Iterative application of this pattern via stepwise refinement in the B method results in development of a layered fault tolerant system correct by construction. We demonstrate the proposed approach by an excerpt from a realistic case study - development of liquid handling workstation Fillwell.","PeriodicalId":207271,"journal":{"name":"Proceedings of the Second International Conference on Software Engineering and Formal Methods, 2004. SEFM 2004.","volume":"59 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-09-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127556683","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Towards mobile processes in unifying theories","authors":"Xinbei Tang, J. Woodcock","doi":"10.1109/SEFM.2004.49","DOIUrl":"https://doi.org/10.1109/SEFM.2004.49","url":null,"abstract":"The paper presents a denotational semantics of mobile processes in Hoare & He's Unifying Theories of Programming (UTP). Process mobility is captured by the mobile assignment or communication of higher-order variables, in which both the source and the target are process-valued variables. Processes are moved around in the system by updating the target and losing the value of the source. The semantics can be used to guarantee the correctness of a set of algebraic of refinement laws for the step-wise development of mobile systems. We give an outline of this development method, present and prove some of the laws.","PeriodicalId":207271,"journal":{"name":"Proceedings of the Second International Conference on Software Engineering and Formal Methods, 2004. SEFM 2004.","volume":"606 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-09-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132375480","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"The formal, tool supported development of real time systems","authors":"R. Sinnott","doi":"10.1109/SEFM.2004.43","DOIUrl":"https://doi.org/10.1109/SEFM.2004.43","url":null,"abstract":"The language SDL has long been applied in the development of various kinds of systems. Real-time systems are one application area where SDL has been applied extensively. Whilst SDL allows for certain modelling aspects of real-time systems to be represented, the language and its associated tool support have certain drawbacks for modelling and reasoning about such systems. In this paper we highlight the limitations of SDL and its associated tool support in this domain and present language extensions and next generation real-time system tool support to help overcome them. The applicability of the extensions and tools is demonstrated through a case study based upon a multimedia binding object used to support a configuration of time dependent information producers and consumers realising the so called lip-synchronisation algorithm.","PeriodicalId":207271,"journal":{"name":"Proceedings of the Second International Conference on Software Engineering and Formal Methods, 2004. SEFM 2004.","volume":"39 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-09-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121312610","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"ABC: supporting software architectures in the whole lifecycle","authors":"Hong Mei","doi":"10.1109/SEFM.2004.3","DOIUrl":"https://doi.org/10.1109/SEFM.2004.3","url":null,"abstract":"How to compose prefabricated components is a key issue in component-based reuse. Research on software architecture (SA) and component based software development (CBSD) provides two hopeful solutions from different perspectives. SA provides a top-down approach to realizing component-based reuse, but doesn't pay enough attention to the refinement and implementation of the architectural descriptions, thus not fully able to automate the transformation or composition to form an executable application. CBSD provides a bottom-up way by using existing middleware infrastructures, but this technology is not able to guide systematically the CBSD process, especially the component composition at higher abstract levels. Naturally, a promising solution is to combine the above two approaches to realize component-based reuse. From the above discussion, we argue that SA should play a centric role in the whole software lifecycle, that is, SA description is used as the blueprint and middleware technology as the runtime scaffold for component composition, maintenance and evolution. To demonstrate the philosophy, we propose a software reuse methodology, which is called ABC (Architecture Based Component Composition) (Mei et al., 2001). ABC introduces software architectures into each phase of software life cycle, takes SA as the blueprint of system development, shortens the distance between high-level design and implementation by supporting tools and mapping mechanisms, realizes the automated system composition and deployment on runtime component operating platforms, and makes architecture available at runtime for software maintenance and evolution.","PeriodicalId":207271,"journal":{"name":"Proceedings of the Second International Conference on Software Engineering and Formal Methods, 2004. SEFM 2004.","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-09-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116738104","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Path-oriented test data generation using symbolic execution and constraint solving techniques","authors":"Jian Zhang, Chen Xu, Xiaoliang Wang","doi":"10.1109/SEFM.2004.30","DOIUrl":"https://doi.org/10.1109/SEFM.2004.30","url":null,"abstract":"Automatic test data generation is a challenging task in software engineering research. This paper studies a path-oriented approach to the problem, which is based on the combination of symbolic execution and constraint solving. Methods for representing expressions and path conditions are discussed. An implemented toolkit is described with some examples. The toolkit transforms an input program (possibly embedded with assertions) to an extended finite state machine and then performs depth-first or breadth-first search on it. The goal is to find values for input variables such that a terminal state can be reached. If successful, input test data are found (which might reveal a bug in the program).","PeriodicalId":207271,"journal":{"name":"Proceedings of the Second International Conference on Software Engineering and Formal Methods, 2004. SEFM 2004.","volume":"31 9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-09-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132740993","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Automated element-wise reasoning with sets","authors":"G. Struth","doi":"10.1109/SEFM.2004.8","DOIUrl":"https://doi.org/10.1109/SEFM.2004.8","url":null,"abstract":"Operational reasoning with sets is important for software engineering methods like B or Z and a longstanding challenge in automated deduction. A proof-search procedure for atomic distributive lattices is presented that captures an interesting fragment of set theory. In contrast to a previous procedure [21], atomicity is extensively used. This yields short and confined expressions and inference rules. It makes the approach particularly suited for small problems and strongly element-wise specifications.","PeriodicalId":207271,"journal":{"name":"Proceedings of the Second International Conference on Software Engineering and Formal Methods, 2004. SEFM 2004.","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-09-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129761020","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Models and temporal logics for timed component connectors","authors":"F. Arbab, C. Baier, F. D. Boer, J. Rutten","doi":"10.1109/SEFM.2004.27","DOIUrl":"https://doi.org/10.1109/SEFM.2004.27","url":null,"abstract":"The coordination language Reo supports compositional system construction through connectors with real-time properties that exogenously coordinate the interactions among the constituent components into a coherent collaboration. In this paper, we present an operational semantics for the channel-based component connectors of Reo in terms of Timed Constraint Automata and introduce a temporal-logic for specification and verification of their real-time properties.","PeriodicalId":207271,"journal":{"name":"Proceedings of the Second International Conference on Software Engineering and Formal Methods, 2004. SEFM 2004.","volume":"55 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-09-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125085633","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Random testing in Isabelle/HOL","authors":"Stefan Berghofer, T. Nipkow","doi":"10.1109/SEFM.2004.36","DOIUrl":"https://doi.org/10.1109/SEFM.2004.36","url":null,"abstract":"When developing non-trivial formalizations in a theorem prover, a considerable amount of time is devoted to \"debugging\" specifications and conjectures by failed proof attempts. To detect such problems early in the proof and save development time, we have extended the Isabelle theorem prover with a tool for testing specifications by evaluating propositions under an assignment of random values to free variables. Distribution of the test data is optimized via mutation testing. The technical contributions are an extension of earlier work with inductive definitions and a generic method for randomly generating elements of recursive datatypes.","PeriodicalId":207271,"journal":{"name":"Proceedings of the Second International Conference on Software Engineering and Formal Methods, 2004. SEFM 2004.","volume":"62 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-09-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125103598","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Refine and gabriel: support for refinement and tactics","authors":"M. Oliveira, Manuela Xavier, Ana Cavalcanti","doi":"10.1109/SEFM.2004.37","DOIUrl":"https://doi.org/10.1109/SEFM.2004.37","url":null,"abstract":"Using Morgan's refinement calculus, we can write software in a precise and consistent way. Nevertheless, this may involve long and repetitive developments. Several refinement strategies are useful in different developments, and even in different points of a single development. A lot is gained by identifying these strategies, documenting them as tactics, and using them as single transformation rules. With this motivation, we have designed ArcAngel, a tactic language especially tailored for refinement; we have formalised its semantics and studied its algebraic laws. Even with the use of tactics, however refinement can be a hard task and the use of tools is essential in practice. In this paper we present Refine and Gabriel, interactive, user-friendly tools that allow us to use the refinement calculus with the support of ArcAngel tactics.","PeriodicalId":207271,"journal":{"name":"Proceedings of the Second International Conference on Software Engineering and Formal Methods, 2004. SEFM 2004.","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-09-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131171759","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}