{"title":"Design and implementation of test-case generation for concurrent programs","authors":"T. Katayama, Z. Furukawa, K. Ushijima","doi":"10.1109/APSEC.1998.733728","DOIUrl":"https://doi.org/10.1109/APSEC.1998.733728","url":null,"abstract":"Test-cases play an important role for high quality of software testing. Inadequate test-cases may cause bugs remaining after testing. Overlapped ones lead to the increases in testing costs. This paper proposes the Event InterActions Graph (EIAG) representing behavior of concurrent programs including any task-type and the cooperated paths (copaths) on the EIAG as test-cases, and describes the test-case generation tool (TCgen) for concurrent programs written in Ada programming language. The EIAG consists of Event Graphs and Interactions. An Event Graph is a control flow graph of a program unit in a concurrent program. The interactions represent interactions such as synchronizations between the program units. TCgen generates test-cases as copaths from an Ada concurrent program. The generated copaths satisfy given testing criteria. They can find some communication errors in testing and detecting unreachable statements which concern interactions. It is, however, necessary to validate feasibility of the generated copaths.","PeriodicalId":296589,"journal":{"name":"Proceedings 1998 Asia Pacific Software Engineering Conference (Cat. No.98EX240)","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-12-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128207879","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":"Why is it so hard to define software architecture?","authors":"Jason Baragry, K. Reed","doi":"10.1109/APSEC.1998.733577","DOIUrl":"https://doi.org/10.1109/APSEC.1998.733577","url":null,"abstract":"In recent years, software engineering researchers have elevated the study of software architecture to the level of a major area of study. A review of the published literature however, shows quite clearly that a unified view of software architecture has not been forth-coming. This paper contends that the existence of a \"software architecture level of design\" is based on the implicit assumption that the software development process is analogous to those \"construction\" disciplines in which the completed artefacts or systems exhibit a unique representational abstraction, fixed during the early stages of design, which we describe as \"the architecture\". We argue that our problems in obtaining an acceptable definition of software architecture are due to the assumption that software systems have an analogous, unique design abstraction determinable at the early stages of the design. To determine the validity of this analogy, we contrast the nature and use of architecture in the traditional building process with software development to identify the differences, rather than the similarities that exist. These differences are explained using a theory of the software development process which highlights why these differences arise and, subsequently why there has been trouble in developing a community-wide understanding of software architecture. Our conclusion is that due to the fundamental nature of the systems we construct, attempts to depict the large-scale structure of the system, in an analogous manner traditional building disciplines, results in many different architectures. These are fundamentally different representations and not merely different views of a single whole. Moreover, each of these is equally qualified to be labelled as the system architecture with respect to the general notion of what architecture is.","PeriodicalId":296589,"journal":{"name":"Proceedings 1998 Asia Pacific Software Engineering Conference (Cat. No.98EX240)","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-12-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115281848","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":"On the danger of developing measures without clarifying concepts [software measurement]","authors":"F. Xia","doi":"10.1109/APSEC.1998.733594","DOIUrl":"https://doi.org/10.1109/APSEC.1998.733594","url":null,"abstract":"Defining concept before developing theory must be a fundamental requirement of any science. We show that this requirement, though seemingly trivial, is to a large extent not respected in software measurement research. Many basic software quality concepts are used ambiguously without a clear definition and consequently their measures, though growing in number, have no serious scientific foundation and risk being misleading in further research. We demonstrate the differences between concept and measure, show the risks to develop measures without clarifying concepts, and underline the paramount importance of concept clarification and definition for the development of software measures.","PeriodicalId":296589,"journal":{"name":"Proceedings 1998 Asia Pacific Software Engineering Conference (Cat. No.98EX240)","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-12-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123442086","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}
Young-Jong Yang, Soon-Yong Kim, Gui Ja Choi, Eunsook Cho, Chul-Jin Kim, Soo Dong Kim
{"title":"A UML-based object-oriented framework development methodology","authors":"Young-Jong Yang, Soon-Yong Kim, Gui Ja Choi, Eunsook Cho, Chul-Jin Kim, Soo Dong Kim","doi":"10.1109/APSEC.1998.733722","DOIUrl":"https://doi.org/10.1109/APSEC.1998.733722","url":null,"abstract":"Recently, object-oriented (OO) frameworks have been known to be highly effective and practical for software reuse; as shown in San Francisco project, a large-scaled industry project for framework development. However, systematic development process and detailed instructions for building OO frameworks have not been studied enough. In addition, it has not been clearly defined how to apply OMG's Unified Modeling Language (UML) in building OO frameworks. In this paper, we propose a practical OO development process that extends UML notations and semantics. The proposed process consists of four typical software development phases; analysis, design, implementation and testing, and each phase is defined as a logical sequence of development tasks. In order to help the seamless migration from one task to subsequent tasks, we provide instructions for carrying out tasks. Since the proposed process is based on UML diagrams and the basic objectory process, we believe that OO frameworks can be more efficiently developed by utilizing the proposed process, and higher quality OO frameworks can be produced. In order to show the applicability and effectiveness of the process, we present a case study of electronic commerce application.","PeriodicalId":296589,"journal":{"name":"Proceedings 1998 Asia Pacific Software Engineering Conference (Cat. No.98EX240)","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-12-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129292127","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}
Daniel K. C. Chan, Karl R. P. H. Leung, C. Yan, Keith C. C. Chan
{"title":"Liaison: a workflow model for novel applications","authors":"Daniel K. C. Chan, Karl R. P. H. Leung, C. Yan, Keith C. C. Chan","doi":"10.1109/APSEC.1998.733614","DOIUrl":"https://doi.org/10.1109/APSEC.1998.733614","url":null,"abstract":"The workflow paradigm is advancing the scope of process modelling by supporting rich process structures as well as resource allocation through the use of an organisation model. Its initial success has attracted a lot of interest in applying it to applications that are more complex than what can be handled by the current generation of workflow management systems. This paper introduces a new workflow model called Liaison that is designed to address the needs of these novel applications. More specifically, it provides a rich organisation model, sophisticated activity assignment constraints, an information model that also records presentation details, and a dynamic process model. An implemented prototype is described together with an examination of desirable improvements.","PeriodicalId":296589,"journal":{"name":"Proceedings 1998 Asia Pacific Software Engineering Conference (Cat. No.98EX240)","volume":"93 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-12-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134034608","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":"Mutation-based inter-class testing","authors":"Hoijin Yoon, Byoungju Choi, J. Jeon","doi":"10.1109/APSEC.1998.733717","DOIUrl":"https://doi.org/10.1109/APSEC.1998.733717","url":null,"abstract":"Faults and failures due to interaction are the bane of testers. Since their subtlety makes them difficult to recognize and even more difficult to reveal by testing, it is important to specify interaction between classes systematically. In this paper, we propose mutation-based inter-class testing technique. Our inter-class testing technique consists of two procedures: test item identification procedure and test case selection procedure. For the test item identification procedure, we develop the Inheritance-Call graph (ICgraph) to identify the taxonomy of interaction of public methods between classes. For the test case selection procedure, we design a new criterion, state-based mutation testing criterion (SMTC), by applying mutation analysis to the state diagram representing class behavior. Mutation analysis is a well-known method for measuring test case adequacy which involves the mutation of a program by the introduction of small syntactic change in the program. The implementation of our proposed technique on a sample program shows that our technique leads to a set of test cases which detect errors in inter-class relation.","PeriodicalId":296589,"journal":{"name":"Proceedings 1998 Asia Pacific Software Engineering Conference (Cat. No.98EX240)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-12-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130975776","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}
I. Meng, Wei-Pang Yang, Swu-Mei Lin, Mu-Ann Chen, Shih-Kung Chen, Jian-Cheng Dai
{"title":"The CACTUS object server: design and implementation issues","authors":"I. Meng, Wei-Pang Yang, Swu-Mei Lin, Mu-Ann Chen, Shih-Kung Chen, Jian-Cheng Dai","doi":"10.1109/APSEC.1998.733739","DOIUrl":"https://doi.org/10.1109/APSEC.1998.733739","url":null,"abstract":"CACTUS is a compact and reliable object storage system based on peer-to-peer architecture with distributed transaction processing capability. The kernel is implemented with the multi-thread mechanisms to provide a high performance multi-transaction environment. All sites, installed with CACTUS, of the networked workstations are on an equal footing. The system can handle local and remote transactions including accessing remote objects or processing remote accesses. In this paper, we give an architectural overview of CACTUS and discuss some implementation issues. It mentions the special contributions such as transient large objects, the coarser lock granularity and its associated protocol. A cost model is developed to demonstrate that the new scheme yields performances which are superior in most common cases and inferior under certain situations.","PeriodicalId":296589,"journal":{"name":"Proceedings 1998 Asia Pacific Software Engineering Conference (Cat. No.98EX240)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-12-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129505111","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":"Specification-based class testing with ClassBench","authors":"L. Murray, J. McDonald, P. Strooper","doi":"10.1109/APSEC.1998.733618","DOIUrl":"https://doi.org/10.1109/APSEC.1998.733618","url":null,"abstract":"In this paper, we present an approach that combines specification-based testing and class testing. In particular, we provide a method for generating Finite State Machines (FSMs) from formal, object-oriented specifications, and use the ClassBench testing framework to build a test suite from those formally generated FSMs. We briefly outline our approach and focus on one step in the approach; the transformation of the formally derived FSM into a ClassBench testgraph, which is used by ClassBench to drive the test execution. We illustrate the method with a simple bounded queue class, and discuss the application of the method to a larger example, which is a simplified model of a process scheduling system.","PeriodicalId":296589,"journal":{"name":"Proceedings 1998 Asia Pacific Software Engineering Conference (Cat. No.98EX240)","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-12-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120899081","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":"Optimization of multi-way clustering and retrieval using genetic algorithms in reusable class library","authors":"Byungjeong Lee, B. Moon, Chisu Wu","doi":"10.1109/APSEC.1998.733547","DOIUrl":"https://doi.org/10.1109/APSEC.1998.733547","url":null,"abstract":"In order to improve code reliability and development productivity, software reuse is a clear solution and a reuse library based on object-oriented technology is essential. It is also very important to classify components elaborately and retrieve them accurately in the reuse library. In this paper, we present genetic algorithms for multi-way clustering, in which the number of clusters, similarity in a cluster and similarity between clusters are taken into consideration with the aim of finding optimized clusters into which components are classified, and for cluster-based linear retrieval with the aim of finding an optimal query which retrieves clusters containing components similar to a given query. We compare genetic algorithms with simulated annealing algorithms for multi-way clustering and cluster-based retrieval. The results of our experiments demonstrate that generic algorithms produce better solutions than those obtained by simulated annealing algorithms. We implemented a Reusable Class Library (RCL) using these methods, which is based on CORBA.","PeriodicalId":296589,"journal":{"name":"Proceedings 1998 Asia Pacific Software Engineering Conference (Cat. No.98EX240)","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-12-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134549320","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":"CTAG software generator model for constructing network applications","authors":"T. Matsuzaki, T. Tokuda","doi":"10.1109/APSEC.1998.733603","DOIUrl":"https://doi.org/10.1109/APSEC.1998.733603","url":null,"abstract":"We present a new software generator model for the construction of network applications. Our model is called Communicating Timed Attribute Grammars (CTAG) model, which is an extension of attribute grammars. Our CTAG model allows us to describe dynamic behavior of network applications. We represent one application program by an attributed tree. Communication between application programs is achieved by the exchange of attribute values between connected attributed trees. Traditionally network applications are constructed by procedural programming languages, but it is not easy to produce the whole codes of network application programs. Our CTAG model allows us to construct network applications based on a set of simple computing rules instead of using complex knowledge of existing function libraries and class hierarchies. We give examples of constructing a chat system and a POP client system using our CTAG model. We give comparisons of our method with previous approaches.","PeriodicalId":296589,"journal":{"name":"Proceedings 1998 Asia Pacific Software Engineering Conference (Cat. No.98EX240)","volume":"39 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-12-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124370197","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}