Chien-Min Wang, Chi-Chang Huang, Hsi-Min Chen, Shun-Te Wang
{"title":"Conformance Checking of Running Programs in Dynamic Aspect-Oriented Systems","authors":"Chien-Min Wang, Chi-Chang Huang, Hsi-Min Chen, Shun-Te Wang","doi":"10.1109/APSEC.2007.35","DOIUrl":"https://doi.org/10.1109/APSEC.2007.35","url":null,"abstract":"A dynamic aspect-oriented system weaves aspects into applications at run time. As a result, a static model can be dynamically modified to include the codes needed to fulfill non-functional requirements without having to shut down the running program. Although this provides a high degree of flexibility, it may lead to a conformance problem. In this paper, we study the conformance issues of aspect-oriented programs and propose a scheme to check the conformance of running programs with the original software specification in dynamic aspect-oriented systems. First, we propose extensions of the UML model to express the specification of aspect-oriented applications, after which we study and classify typical mistakes made in deploying aspects. Then, we design a scheme to check if the current state conforms to the software specification. We take JAsCo as the target system to implement the proposed scheme. When the program starts running or aspects in the registry are changed, the system informs the developers if the current state violates the software specification.","PeriodicalId":273688,"journal":{"name":"14th Asia-Pacific Software Engineering Conference (APSEC'07)","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132992561","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 Investigation into Concurrency Control Mechanisms in Data Service Layers","authors":"Krishneel Goundar, Santokh Singh, Xinfeng Ye","doi":"10.1109/APSEC.2007.22","DOIUrl":"https://doi.org/10.1109/APSEC.2007.22","url":null,"abstract":"Service-oriented applications are conceptualised with the notion of efficiently acquiring and processing distributed data. Presently, accessing distributed data can account for up to 70 percent or more of the time spent developing such applications. Hence, one of the first things to be service-enabled in service-oriented architecture is to efficiently access and process data. To avoid hard-coding applications, we recommend the use of a data service layer (DSL) to act as a single point of access to reusable, real-time heterogeneous data. Currently, commercial integration products use two approaches, business information warehouse or virtual data federation. In this paper, we present two novel, proof-of-concept prototype DSLs that combine the two approaches using concurrency control i. e. one with Optimistic concurrency control and another with pessimistic concurrency control. Both approaches are capable of efficiently coordinating client transactions that engage multiple data sources. We also discuss the performance tests carried-out and analyse the results.","PeriodicalId":273688,"journal":{"name":"14th Asia-Pacific Software Engineering Conference (APSEC'07)","volume":"78 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127524735","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}
Nima Haghpanah, Shahrouz Moaven, J. Habibi, M. Kargar, S. Yeganeh
{"title":"Approximation Algorithms for Software Component Selection Problem","authors":"Nima Haghpanah, Shahrouz Moaven, J. Habibi, M. Kargar, S. Yeganeh","doi":"10.1109/APSEC.2007.26","DOIUrl":"https://doi.org/10.1109/APSEC.2007.26","url":null,"abstract":"Today's software systems are more frequently composed from preexisting commercial or non-commercial components and connectors. These components provide complex and independent functionality and are engaged in complex interactions. Component-Based Software Engineering (CBSE) is concerned with composing, selecting and designing such components. As the popularity of this approach and hence number of commercially available software components grows, selecting a set of components to satisfy a set of requirements while minimizing cost is becoming more difficult. This problem necessitates the design of efficient algorithms to automate component selection for software developing organizations. We address this challenge through analysis of Component Selection, the NP-complete process of selecting a minimal cost set of components to satisfy a set of objectives. Due to the high order of computational complexity of this problem, we examine approximating solutions that make the component selection process practicable. We adapt a greedy approach and a genetic algorithm to approximate this problem. We examined the performance of studied algorithms on a set of selected ActiveX components. Comparing the results of these two algorithms with the choices made by a group of human experts shows that we obtain better results using these approximation algorithms.","PeriodicalId":273688,"journal":{"name":"14th Asia-Pacific Software Engineering Conference (APSEC'07)","volume":"100 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123185699","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":"Developing an Insulin Pump System Using the SOFL Method","authors":"Jichuan Wang, Shaoying Liu, Yong Qi, Di Hou","doi":"10.1109/APSEC.2007.41","DOIUrl":"https://doi.org/10.1109/APSEC.2007.41","url":null,"abstract":"Insulin pump system is a safety-critical embedded system controlling the amount of injection of insulin to diabetics based upon their blood glucose levels, and the high reliability of the software used in the pump is crucial. One way to achieve the high reliability of software is to build an accurate and complete model through effective analysis and specification, and to implement the system based upon the specification. In this paper, we describe how the SOFL formal engineering method is applied to develop a specific insulin pump system in practice. In particular, we focus on the issue of how the three-step modeling approach advocated by the SOFL method, which includes informal, semi-formal, and formal specifications, is utilized to obtain a precise and valid specification of the embedded software for the insulin pump system. We also discuss how the specification benefits the implementation of the system, and report our experience and lessons learned.","PeriodicalId":273688,"journal":{"name":"14th Asia-Pacific Software Engineering Conference (APSEC'07)","volume":"41 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121432921","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":"Compositional Verification of UML Dynamic Models","authors":"Wei Dong, Ji Wang, Zhichang Qi, Ni Rong","doi":"10.1109/APSEC.2007.33","DOIUrl":"https://doi.org/10.1109/APSEC.2007.33","url":null,"abstract":"UML dynamic models are important for software analysis and design. Verifying UML dynamic models to find design errors earlier is a key issue for ensuring software quality. Because of the characteristics such as concurrency and hierarchy, model checking of UML Statecharts and collaboration diagrams faces the problem of state explosion. In this paper, UML Statecharts is firstly structurally expressed by hierarchical automata and its semantics for open systems is introduced. Then, the synchronization composition of objects in UML collaboration diagrams is expatiated, based on which the global system behaviors can be constructed. Based on hierarchical automata and simulation relation between semantics structures, the compositional rules for verifying concurrent object systems are proposed. It makes possible that the construction of global state space will be unnecessary in model checking of UML collaboration diagrams. The hierarchical structures of UML Statecharts are also brought into the compositional verification, which makes the model checking of implementation models can be carried out through replacing detailed components by abstract specifications.","PeriodicalId":273688,"journal":{"name":"14th Asia-Pacific Software Engineering Conference (APSEC'07)","volume":"76 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122296108","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":"Aspect-Oriented Modeling for Embedded Software Design","authors":"N. Noda, T. Kishi","doi":"10.1109/APSEC.2007.29","DOIUrl":"https://doi.org/10.1109/APSEC.2007.29","url":null,"abstract":"In software design, it is important to encapsulate cross-cutting concerns, and the application of aspect-oriented technologies to design modeling is a significant challenge. We examined the design of software for embedded systems that exhibit complicated behavior and observed that aspect orientation is useful for designing such systems. In this paper, we propose aspect-oriented modeling for embedded software design. For this modeling, we introduce an aspect-oriented modeling mechanism based on state diagrams. We also demonstrate how the proposed modeling can be effectively applied to embedded software design based on an example.","PeriodicalId":273688,"journal":{"name":"14th Asia-Pacific Software Engineering Conference (APSEC'07)","volume":"43 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128124127","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 a Code Clone Detection Method to Domain Analysis of Device Drivers","authors":"Yu-Seung Ma, Duk-Kyun Woo","doi":"10.1109/APSEC.2007.25","DOIUrl":"https://doi.org/10.1109/APSEC.2007.25","url":null,"abstract":"Domain analysis is the process of analyzing related software systems in a domain to find their common and variable parts. In the case of device drivers, they are highly suitable for domain analysis because device drivers of the same domain are implemented similarly for each device and each system that they support. Considering this characteristic, this paper introduces a new approach to the domain analysis of device drivers. Our method uses a code clone detection technique to extract similarity among device drivers of the same domain. To examine the applicability of our method, we investigated whole device drivers of a Linux source. Results showed that many reusable similar codes can be discerned by the code clone detection method.","PeriodicalId":273688,"journal":{"name":"14th Asia-Pacific Software Engineering Conference (APSEC'07)","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133499668","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":"Automatic Extraction and Verification of Page Transitions in aWeb Application","authors":"A. Kubo, H. Washizaki, Y. Fukazawa","doi":"10.1109/APSEC.2007.31","DOIUrl":"https://doi.org/10.1109/APSEC.2007.31","url":null,"abstract":"Demand for reliability in Web applications has increased greatly in recent years as they have begun to be used more for enterprise applications. Model checking is an effective way to increase software reliability, but because most Web applications have short delivery times, preparation and application costs make it difficult to introduce model-checking techniques into the development process. In this paper, we propose a technique for automatically extracting page transitions from a Web application that has been developed using a Web application framework, such as Struts configuration files and Java Server Page templates, and transforming it into a format that can be used by existing model-checking tools. Using the proposed technique, Web application developers will be able to reduce the preparation and application costs of introducing model-checking techniques.","PeriodicalId":273688,"journal":{"name":"14th Asia-Pacific Software Engineering Conference (APSEC'07)","volume":"42 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133644687","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":"Improving Data Integrity with a Java Mutability Analysis","authors":"Aiwu Shi, G. Naumovich","doi":"10.1109/APSEC.2007.62","DOIUrl":"https://doi.org/10.1109/APSEC.2007.62","url":null,"abstract":"This paper presents a static mutability analysis approach relying on escape information for Java components and uses the techniques to detect the security threats to data integrity before software components are deployed. In order to increase the precision of our analysis, we make a couple of significant modifications to mutability definitions based on previous work in the context of components. We extended our security analysis tool SecDetector with proposed mutability analysis, and used it to find potential threats to data integrity in Java components and lead developers to fix the security flaws. On the benchmarks in our experimental evaluation, we show that our tool can correctly find potential modification access violations with few false positives and provide evidence of the effectiveness of our techniques. While the analysis techniques are in the context of Java code, the basic concepts are applicable to other object-oriented programming languages as well.","PeriodicalId":273688,"journal":{"name":"14th Asia-Pacific Software Engineering Conference (APSEC'07)","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114575986","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":"Are Size Measures Better Than Expert Judgment? An Industrial Case Study on Requirements Volatility","authors":"A. Loconsole, J. Börstler","doi":"10.1109/APSEC.2007.28","DOIUrl":"https://doi.org/10.1109/APSEC.2007.28","url":null,"abstract":"Expert judgment is a common estimation approach in industry. However, there is very little research on the accuracy of expert judgment outside the area of effort estimation. In this paper, we present an industrial case study investigating subjective and objective measures of requirementss volatility. Data was collected in retrospect for all use cases of a medium-size software project. In addition, we determined subjective volatility by interviewing developers and managers of the project. Our data analysis show that structural measures perform better than expert judgment in estimating the total number of changes to use case based requirements. These results confirm results from a previous case study by the authors and suggest that project managers should not rely on expert judgment alone for decision making.","PeriodicalId":273688,"journal":{"name":"14th Asia-Pacific Software Engineering Conference (APSEC'07)","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114608787","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}