{"title":"A systematic approach to connecting standalone theorem provers to formal development environments","authors":"D. Hemer","doi":"10.1109/APSEC.2006.13","DOIUrl":"https://doi.org/10.1109/APSEC.2006.13","url":null,"abstract":"In this paper we describe a framework that allows users of formal development environments (FDEs) to prove verification conditions using stand-alone theorem provers. Verification conditions from a given FDE are translated into an intermediate representation, then in turn translated into a form that is readable by the target theorem prover. In this paper we describe a systematic approach to the development of translators from the intermediate representation to a target theorem prover representation. The approach involves the development of a generic translator, which is instantiated for a particular target theorem prover by defining a variety of translation rules. In this paper we describe the different kinds of translation rules and illustrate their use with an example.","PeriodicalId":341929,"journal":{"name":"2006 13th Asia Pacific Software Engineering Conference (APSEC'06)","volume":"144 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-12-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124390427","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":"Constructing Behavioral State Machine using Interface Protocol Specification","authors":"O. Shigo, Atsushi Okawa, Daiki Kato","doi":"10.1109/APSEC.2006.30","DOIUrl":"https://doi.org/10.1109/APSEC.2006.30","url":null,"abstract":"A behavior of an embedded system is designed by a state machine, which receives input events from externals through the interface, and sends output actions to externals through the interface. Thus the interface specification becomes major concerns in the system design. This paper describes a design method that defines the interface of a component by protocol state machines, and then systematically constructs a behavioral state machine of the component using the interface protocol state machines. The design support system developed to realize the method, which provides enough guidance for designing behavior state machine by using protocol specification, is also described.","PeriodicalId":341929,"journal":{"name":"2006 13th Asia Pacific Software Engineering Conference (APSEC'06)","volume":"358 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-12-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122751940","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":"Usage Patterns of the Java Standard API","authors":"Homan Ma, R. Amor, E. Tempero","doi":"10.1109/APSEC.2006.60","DOIUrl":"https://doi.org/10.1109/APSEC.2006.60","url":null,"abstract":"The Java Standard API has grown enormously since Java's beginnings, now consisting of over 3,000 classes and 20,000 methods. The intent of this API is to provide high quality components that can be easily reused and so increase the Java developer's productivity - but does it? In this paper, we present a study that begins to answer this question. Specifically we take a corpus-based approach to help determine the \"typical\" usage of the Standard API. We find that, in an extensive corpus of open-source software, only about 50% of the classes in the Standard API are used at all, and around 21% of the methods are used. We discuss the implications this has for future development of both the API itself, and for tools to support the API.","PeriodicalId":341929,"journal":{"name":"2006 13th Asia Pacific Software Engineering Conference (APSEC'06)","volume":"26 2","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-12-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114110196","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":"Efficient and Accurate Software Pattern Detection","authors":"N. Pettersson, Welf Löwe","doi":"10.1109/APSEC.2006.33","DOIUrl":"https://doi.org/10.1109/APSEC.2006.33","url":null,"abstract":"Pattern detection is part of many solutions to software engineering problems. Unfortunately, it is a hard problem in itself in both theory and practice. Both exact and approximative approaches have been used earlier to increase efficiency. We propose a novel method to improve the performance of pattern detection, which is in many cases both exact and efficient. It is based on the idea of filtering information from the program representation (graphs), which is unnecessary for detecting a particular pattern. This makes the remaining program representation graph planar, in many cases, thus allowing for linear pattern detection. We evaluate our approach experimentally: we detect six design patterns in six software systems. Filtering leads to planar program representation graphs in 14 out of 36 cases. For most of the remaining graphs, filtering makes the graphs almost planar and gives a significant reduction of the graph size, which speeds up existing heuristics.","PeriodicalId":341929,"journal":{"name":"2006 13th Asia Pacific Software Engineering Conference (APSEC'06)","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-12-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131277152","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}
A. Pasala, Srinivasa Rao, Srinivas Gunturu, Purnendu Sinha
{"title":"An Approach Based on Modeling Dynamic Behavior of the System to Assess the Impact of COTS Upgrades","authors":"A. Pasala, Srinivasa Rao, Srinivas Gunturu, Purnendu Sinha","doi":"10.1109/APSEC.2006.19","DOIUrl":"https://doi.org/10.1109/APSEC.2006.19","url":null,"abstract":"Traditional approaches of executing complete system test suite to validate software systems on deploying the upgrades of commercial off-the-shelf (COTS) software components is typically costly and time-consuming, resulting in delay in deploying the upgrades. In this paper, we present a process that examines the test case dependencies at finer granularity level of altered-functions in the upgrades of COTS software and recommends a smaller regression test suite. The process captures and analyzes the functional-level runtime interactions among the applications and COTS components to find the impact of the upgrades on the system. The process includes a procedure to identify the altered-functions in a component. We have developed a prototype based on the concepts proposed in the paper and performed a case study on a web-based application to illustrate efficacy of the prototype. The results of the case study show that up to 80% reduction in regression test efforts could be achieved.","PeriodicalId":341929,"journal":{"name":"2006 13th Asia Pacific Software Engineering Conference (APSEC'06)","volume":"42 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-12-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123299785","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":"Applying Formal Approach to Core Asset Instantiation in Product Line Engineering","authors":"S. Shin, J. Her, Soo Dong Kim","doi":"10.1109/APSEC.2006.23","DOIUrl":"https://doi.org/10.1109/APSEC.2006.23","url":null,"abstract":"As an effective reuse approach, product line engineering (PLE) is used to develop a number of applications by instantiating a reusable core asset. Current research works mostly center on domain engineering, it is yet to define how to instantiate core assets systematically and to validate the instantiation process. We believe that formal specifications have a great potential in defining detailed and precise instantiation process. In this paper, we first define the key elements of core assets, and show how to formally specify core assets Object-Z. Then, we present rules for defining the instantiation process and relevant constraints. Using the proposed formal framework, the task of instantiating core assets can be carried out precisely and correctly, yielding high quality software development.","PeriodicalId":341929,"journal":{"name":"2006 13th Asia Pacific Software Engineering Conference (APSEC'06)","volume":"183 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-12-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124618608","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":"Cycle Time Reduction","authors":"Nagesh Mukundarao","doi":"10.1109/APSEC.2006.31","DOIUrl":"https://doi.org/10.1109/APSEC.2006.31","url":null,"abstract":"In today's competitive market, customer needs quick solutions with minimum cost, with out compromising the quality. Five years back, the average project cycle time was 4 to 6 months (was measured in months) and currently it is between 8 to 16 weeks (is measured in weeks). In near future, this will be measured in days. There is a need for quick decisions, earlier we used to say \"no decision is better than a wrong decision \", but now it is \"any decision is better than no decision \". The cycle time reduction (CTR) can only be possible by quick turn around in the project. This introduces challenges like running many activities in parallel (multiple critical paths). This implies increased risks in the project, increased stress on the project team, increased communication channels leading to complex communication issues, reduced time frame to adapt to the changes and many more. This in turn might impact on the company's business in the longer run. This paper provides a list of approaches practiced to achieve the challenge of reducing software project cycle time.","PeriodicalId":341929,"journal":{"name":"2006 13th Asia Pacific Software Engineering Conference (APSEC'06)","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-12-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129098814","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":"Introducing MDA in a large IT consultancy organization","authors":"V. Kulkarni, S. Reddy","doi":"10.1109/APSEC.2006.43","DOIUrl":"https://doi.org/10.1109/APSEC.2006.43","url":null,"abstract":"We discuss our experience of introducing MDA approach, supported by our MDA toolset, in an IT consultancy and software development services organization. Initially, our MDA toolset provided a set of modeling notations for specifying different layers of an enterprise application and a set of code generators that transform these models into platform-specific implementations. In spite of considerable amount of code being generated, it didn't translate into commensurate productivity gain over the entire development lifecycle of large projects. What was missing was support for collaborative development. Providing suitable abstractions and tool support for a collaboration-based development method improved the situation considerably. Enterprise product lines and large development projects benefited the most resulting in improved productivity, better code quality, platform independence and easier change management. However, the steep learning curve and inadequate debugging support for models were significant hurdles. Small to medium sized projects found this MDA approach too heavy and restrictive, and preferred a flexible and lightweight meta-data driven aspect-oriented approach. Our experience suggests that MDA will find greater acceptance if complimented with well-defined and flexible methodologies that support collaborative development.","PeriodicalId":341929,"journal":{"name":"2006 13th Asia Pacific Software Engineering Conference (APSEC'06)","volume":"81 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-12-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132156109","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":"Interaction Testing in Model-Based Development: Effect on Model-Coverage","authors":"Renée C. Bryce, A. Rajan, M. Heimdahl","doi":"10.1109/APSEC.2006.42","DOIUrl":"https://doi.org/10.1109/APSEC.2006.42","url":null,"abstract":"Model-based software development is gaining interest in domains such as avionics, space, and automotives. The model serves as the central artifact for the development efforts (such as, code generation), therefore, it is crucial that the model be extensively validated. Automatic generation of interaction test suites is a candidate for partial automation of this model validation task. Interaction testing is a combinatorial approach that systematically tests all t-way combinations of inputs for a system. In this paper, we report how well interaction test suites (2-way through 5-way interaction test suites) structurally cover a model of the mode- logic of a flight guidance system. We conducted experiments to (1) compare the coverage achieved with interaction test suites to that of randomly generated tests and (2) determine if interaction test suites improve the coverage of black-box test suites derived from system requirements. The experiments show that the interaction test suites provide little benefit over the randomly generated tests and do not improve coverage of the requirements-based tests. These findings raise questions on the application of interaction testing in this domain.","PeriodicalId":341929,"journal":{"name":"2006 13th Asia Pacific Software Engineering Conference (APSEC'06)","volume":"124 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-12-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128141587","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":"An Accurate and Convenient Undo Mechanism for Refactorings","authors":"Katsuhisa Maruyama","doi":"10.1109/APSEC.2006.18","DOIUrl":"https://doi.org/10.1109/APSEC.2006.18","url":null,"abstract":"Refactoring makes existing source code more understandable and reusable without changing observable behavior. Therefore, applying refactorings to existing source code and reversing the effects of past refactorings are inseparable from tool support to software development and maintenance. This paper proposes a powerful undo mechanism that uses a chain of past refactorings for each source file and determines which refactoring is undoable by monitoring the last refactoring in every chain. The proposed undo mechanism can make an undesired refactoring accurately undone although the refactoring has affected multiple source files. Moreover, it permits a programmer to compatibly execute operations of refactoring undo and editorial undo/redo without the limitation of manual edit of files. A running implementation of the mechanism has been integrated into our developed refactoring browser.","PeriodicalId":341929,"journal":{"name":"2006 13th Asia Pacific Software Engineering Conference (APSEC'06)","volume":"114 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-12-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132608998","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}