{"title":"Formalization and verification of safety properties of Statechart specifications","authors":"K. Kang, Kwang-Il Ko","doi":"10.1109/APSEC.1996.566736","DOIUrl":"https://doi.org/10.1109/APSEC.1996.566736","url":null,"abstract":"There have been many analysis methods proposed for the verification of safety properties of real-time systems. Most of these methods, however, are not powerful enough for complex and safety-critical real-time systems due mainly to the lack of language primitives for specifying complex requirements (e.g., ESM) or heuristic verification procedures that do not provide verification results with certainty (e.g., Statechart and Modechart). A new approach for the verification of safety properties of real-time systems is introduced. This approach adopts Statechart to specify real-time systems behaviors. The authors redefined the step semantics of Statechart to address the problems of the synchrony hypothesis inherent to the original step semantics. A operational semantics of Statechart is defined based on the step semantics and a verification method for safety properties is developed based on the operational semantics of Statechart. This method verifies safety properties using a reachability graph derived from a Statechart diagram. They did not sacrifice the practicality or expressive power of Statechart for the simplification of analysis. Useful event and action primitives including the timeout event tm() and scheduled-action sc!() are included in the analysis. A train gate system is used as an example to illustrate the concepts in the paper.","PeriodicalId":407476,"journal":{"name":"Proceedings 1996 Asia-Pacific Software Engineering Conference","volume":"56 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130947304","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 derivation of functional specifications from source code","authors":"W. Howden, S. Pak","doi":"10.1109/APSEC.1996.566751","DOIUrl":"https://doi.org/10.1109/APSEC.1996.566751","url":null,"abstract":"Software maintenance has been recognized as the most important phase of the software life cycle. Reverse engineering is an approach to help the maintainers in maintaining code which is poorly documented and understood, by recapturing information that was used to design and build a system. A new class of CASE tools, called reverse-engineering tools has emerged to help developers maintain and enhance existing source code basics. Some work has been done describing the derivation of specifications from code but has been impractical for real world code and unsuitable for a procedural language such as COBOL. The paper is a study of an approach to reverse engineering of functional specifications, called FACET (Function And Context Extraction Technique). The problems of generating a specification from a complex, large data processing program are discussed and three necessary strategies for overcoming these problems called modularization, abstraction and selection are surveyed. The basic tools needed to implement a FACET system are described as well as the design of a FACET prototype.","PeriodicalId":407476,"journal":{"name":"Proceedings 1996 Asia-Pacific Software Engineering Conference","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127561602","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}
C. Chung, T. Shih, Ying-Hong Wang, Wei-Chuan Lin, Ying-Feng Kuo
{"title":"Software testing and metrics for concurrent computation","authors":"C. Chung, T. Shih, Ying-Hong Wang, Wei-Chuan Lin, Ying-Feng Kuo","doi":"10.1109/APSEC.1996.566768","DOIUrl":"https://doi.org/10.1109/APSEC.1996.566768","url":null,"abstract":"Verification and validation are two important technologies to assure the reliability and quality of software. Software testing and metrics are two approaches to execute the verification and validation. In sequential computation, a fairly mature process exists, with various methodologies and tools available for use in building and demonstrating the correctness of a program being tested. The emergence of concurrent computation in recent years, however, introduces new testing problems and difficulties that cannot be solved by the traditional sequential program testing techniques. Many concurrent program testing methodologies have been proposed to solve controlled execution and determinism. There have been few discussions of concurrent software testing from the inter-task viewpoint, even though the common characteristics of concurrent programming are the explicit identification of the large-grain parallel computation units (tasks) and the explicit inter-task communication via a rendezvous-style mechanism. In this paper, we focus on testing concurrent programs through task decomposition. We propose four testing criteria to test a concurrent program. A programmer can choose an appropriate testing strategy depending on the properties of the concurrent programs. Associated with the strategies, four equations are provided to measure the complexity of concurrent programs.","PeriodicalId":407476,"journal":{"name":"Proceedings 1996 Asia-Pacific Software Engineering Conference","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115702944","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":"A class testing technique based on data bindings","authors":"Heechern Kim, Chisu Wu","doi":"10.1109/APSEC.1996.566745","DOIUrl":"https://doi.org/10.1109/APSEC.1996.566745","url":null,"abstract":"The authors present a testing technique based on data bindings for testing a class. Data bindings can be used to measure the interface between the modules of a system and reflect the possibility of data interactions between modules. Their approach considers the correctness of a class with regard to data interactions of its member functions and is based on an adaptation of flow graph-based techniques for testing object-oriented classes. A class is fragmented into smaller pieces, called a slice-flow graph associated with each data member. Class testing approaches typically invoke sequences of methods in varying orders. Their approach can generate test cases by applying a flow graph-based class testing technique to each slice-flow graph. It is useful for determining which sequences of methods should be tested. Before applying a flow graph-based testing technique, they apply state-testing only to simple MM-paths which represents actual data bindings. The result is reflected in the next step to reduce efforts for generating test cases.","PeriodicalId":407476,"journal":{"name":"Proceedings 1996 Asia-Pacific Software Engineering Conference","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125178799","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":"Formalisation of interaction diagrams","authors":"R. Rönnquist, Chi Keen Low","doi":"10.1109/APSEC.1996.566766","DOIUrl":"https://doi.org/10.1109/APSEC.1996.566766","url":null,"abstract":"An interaction diagram is a graphical view of computation processes and communication between entities. In concurrent object-oriented systems and multi-agent systems, it can be used as a graphical language in designing the communication between concurrent objects or agents. By formalising the diagrams, automated translation could be used to generate code, to produce reports and to test a complete system. In this paper, we present a graph algebra in which the diagrams are expressed as compositions of interconnected components according to their intended interpretations. We show how a diagram is converted into its algebraic form (a \"fragmentation\"). The conversion can also be reversed, so that we can graphically represent a fragmentation by an interaction diagram. There are two equivalent forms of fragmentations that are used for different purposes. Computation flow fragmentation is used to describe the computation processes of one particular object or agent. Message flow fragmentation can capture the communication between objects or agents. We show that they are equivalent and describe steps to translate one form to another so that we can manipulate and analyse fragmentations in either form. With the formalism of interaction diagrams and fragmentations, we can develop automated procedures and tools for using interaction diagrams in the development of concurrent object-oriented systems and multi-agent systems.","PeriodicalId":407476,"journal":{"name":"Proceedings 1996 Asia-Pacific Software Engineering Conference","volume":"33 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128278952","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}
Tracey Hart, F. Linn, R. Morello, Greg Royle, P. Kearney, P. Lindsay, K. Ross, O. Traynor
{"title":"Formal methods pilot project","authors":"Tracey Hart, F. Linn, R. Morello, Greg Royle, P. Kearney, P. Lindsay, K. Ross, O. Traynor","doi":"10.1109/APSEC.1996.566758","DOIUrl":"https://doi.org/10.1109/APSEC.1996.566758","url":null,"abstract":"Reports on a collaborative project to pilot the use of formal methods in the development of safety-related software. Using the SVRC's Cogito methodology, staff from CSC Australia undertook: formal specification; validation of the specification by mathematical consistency checks; hazard analysis; and validation of the specification against the safety requirements. Part of the design was modelled formally and verified.","PeriodicalId":407476,"journal":{"name":"Proceedings 1996 Asia-Pacific Software Engineering Conference","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130635182","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":"M-base: an application development environment for end-user computing based on message flow","authors":"Takeshi Chusho, Yuji Konishi, M. Yoshioka","doi":"10.1109/APSEC.1996.566771","DOIUrl":"https://doi.org/10.1109/APSEC.1996.566771","url":null,"abstract":"Explosive increase in end-user computing on distributed systems requires that end-users develop application software by themselves. One solution is given as a formula of \"a domain model/spl equiv/a computation model\". This formula implies that one task in a domain model of cooperative work corresponds to one object in a computation model based on an object-oriented model. Application development environment, M-base, supports this formula for cooperative systems such as groupware and work flow systems. At the first stage, the system behavior at a macro level is expressed by using a modeling and simulation tool for constructing a message-driven model while focusing on message flow. At the second stage, static structure and detailed specifications of objects are expressed in a script language. Communication among objects is performed by a set of messages instead of a message, for implementation of flexible work flow.","PeriodicalId":407476,"journal":{"name":"Proceedings 1996 Asia-Pacific Software Engineering Conference","volume":"96 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122619470","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}