Guisheng Fan, Huiqun Yu, Liqiong Chen, Dongmei Liu
{"title":"Formal Modeling and Analyzing the Reliability for Service Composition","authors":"Guisheng Fan, Huiqun Yu, Liqiong Chen, Dongmei Liu","doi":"10.1109/APSEC.2014.22","DOIUrl":"https://doi.org/10.1109/APSEC.2014.22","url":null,"abstract":"Service composition is an important means for integrating the individual Web services for creating new value added systems. However, Web service runs in the heterogeneous environments on the Internet, it is difficult to guarantee the reliability of service composition. To address this problem, we propose a systematic method to model and analyze reliability for service composition. First, we present a formal description language to model the different components of service composition, and use it to analyze the reliability of service composition. Second, we propose reliability assurance strategy to ensure that service composition dynamically meet the required reliability. Third, we present operational semantics and related theories of Petri nets for establishing the correctness of our proposed method. We have also performed a series of simulations to evaluate our proposed approach. Results show that the method can help reveal the structural and behavioral characteristics of service composition, and improve the reliability of service composition.","PeriodicalId":380881,"journal":{"name":"2014 21st Asia-Pacific Software Engineering Conference","volume":"62 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123463022","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":"BP-Miner: Mining Paired Functions from the Binary Code of Drivers for Error Handling","authors":"Hu-Qiu Liu, Jia-Ju Bai, Yuping Wang, Shimin Hu","doi":"10.1109/APSEC.2014.67","DOIUrl":"https://doi.org/10.1109/APSEC.2014.67","url":null,"abstract":"Kernel extension functions are provided as interfaces for drivers to manage devices and resources, and there are many implicit rules about their usages. One of the most important rules is that many functions should be called in pairs. That is to say, when an error occurs in a function, the driver should call related functions to handle it and release the acquired resources before returning, and we name these functions between normal execution paths and error handling paths as paired functions. However, many developers are unaware of them, which causes lots of bugs. Therefore, it is highly significant to automatically extract paired functions and detect violations for drivers. This paper proposes an efficient tool named BP-Miner, which can extract paired functions from binary code of driver modules and detect violations for error handling in drivers with extracted paired functions. BP-Miner constructs control flow graph (CFG) based on basic blocks of binary code, and locates potential execution paths to extract paired functions. We have evaluated BP-Miner with Linux drivers 2.6.38 and 3.13.0-rc7. 76 bugs are reported by BP-Miner in 2.6.38 which have been fixed in the current latest version 3.13.0-rc7. BP-Miner spends about 90 minutes handling 3653 module files for 3.13.0-rc7, and 859 violations have been detected with 1167 extracted paired functions. As it works on the binary code, it can be utilized to check close-source drivers.","PeriodicalId":380881,"journal":{"name":"2014 21st Asia-Pacific Software Engineering Conference","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125637864","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":"Model Checking of Software Product Lines in Presence of Nondeterminism and Probabilities","authors":"M. Varshosaz, R. Khosravi","doi":"10.1109/APSEC.2014.18","DOIUrl":"https://doi.org/10.1109/APSEC.2014.18","url":null,"abstract":"Nowadays, Software Product Lines (SPLs) are being used in a variety of domains including safety-critical systems for which verification of the systems is a matter of concern. Formal modeling and verification of SPLs has been majorly investigated recently. Due to the potential large number of the products in a SPL, individual verification of all products could be costly or even impractical. Hence, there is a need for verification methods that can verify the whole family's behavior at once. In this paper, we focus on the probabilistic model checking of software product lines in which the behavior of individual products can be described in terms of Markov decision processes. We introduce a mathematical model, Markov Decision Process Family (MDPF), to compactly represent the behavior of the whole family. We also provide a model checking algorithm in order to verify MDPFs against properties expressed in probabilistic computational tree logic.","PeriodicalId":380881,"journal":{"name":"2014 21st Asia-Pacific Software Engineering Conference","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115018879","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}
Yuan Huang, Xiangping Chen, Qiwen Zou, Xiaonan Luo
{"title":"A Probabilistic Neural Network-Based Approach for Related Software Changes Detection","authors":"Yuan Huang, Xiangping Chen, Qiwen Zou, Xiaonan Luo","doi":"10.1109/APSEC.2014.50","DOIUrl":"https://doi.org/10.1109/APSEC.2014.50","url":null,"abstract":"Current softwares are continuously updating. The change between two versions usually involves multiple program entities (e.g., Class, method, attribute) with multiple purposes (e.g., Changed requirements, bug fixing). It's hard for developers to understand which changes are made for the same purpose. However, whether two changes are related is not decided by the relationship between this two entities in the program. In this paper, we summarize 4 coupling rules (16 instances) and 4 co-changed types at class, method and attribute levels for software change. We propose the Related Change Vector (RCV) to characterize the related changes, which is defined based on the coupling rules and co-changed types. Probabilistic neural network is used to detect related software changes with RCV as input. Our approach is evaluated with experiments on 3 software projects (14 versions) written in Java. The results indicate that the average detection precision is about 90%.","PeriodicalId":380881,"journal":{"name":"2014 21st Asia-Pacific Software Engineering Conference","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129837853","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 Lifecycle-Based Design Methodology of the Lightweight Ontology and Its Application to Cultivating High Quality Mandarin Orange","authors":"Reiko Fujimoto, M. Aoyama","doi":"10.1109/APSEC.2014.31","DOIUrl":"https://doi.org/10.1109/APSEC.2014.31","url":null,"abstract":"Information technology is introduced to agriculture in order to improve all the cultivating process and the quality of the products. In this article, we propose a method to organize the cultivated knowledge with a focus on the life cycle process, based on the concept of lightweight ontology. We also propose a method for acquiring the knowledge easily by applying the technology of software engineering. We interviewed the farmers cultivating high quality mandarin orange and organized the ontology using the proposed method, and show the effectiveness of the proposed method.","PeriodicalId":380881,"journal":{"name":"2014 21st Asia-Pacific Software Engineering Conference","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125428685","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 Framework for Distributed Testing of Timed Composite Systems","authors":"H. Nguyen, Fatiha Zaïdi, A. Cavalli","doi":"10.1109/APSEC.2014.16","DOIUrl":"https://doi.org/10.1109/APSEC.2014.16","url":null,"abstract":"Software systems are more and more complex. They are usually constructed by combining several components which can be implemented separately and deployed in distributed environments. This paper presents a framework for testing these kind of systems. Particularly, each component of a system is tested by a tester and there is no communication between testers. The tester is guided by local test cases that are generated from the composition of models of components where the communication among components may be synchronous or asynchronous. The framework is complemented with a tool chain for automating test generation. The paper presents also a case study on the European Train Control System.","PeriodicalId":380881,"journal":{"name":"2014 21st Asia-Pacific Software Engineering Conference","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129058840","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}
Xianjin Fu, Zhenbang Chen, Chun Huang, Wei Dong, Ji Wang
{"title":"Synchronization Error Detection of MPI Programs by Symbolic Execution","authors":"Xianjin Fu, Zhenbang Chen, Chun Huang, Wei Dong, Ji Wang","doi":"10.1109/APSEC.2014.28","DOIUrl":"https://doi.org/10.1109/APSEC.2014.28","url":null,"abstract":"Asynchrony based overlapping of computation and communication is commonly used in MPI applications. However, this overlapping introduces synchronization errors frequently in asynchronous MPI programming. In this paper, we propose a symbolic execution based method for detecting input-related synchronization errors. The path space of an MPI program is systematically explored, and the related operations of the synchronization errors in the program are checked specifically. In addition, two optimizations are proposed to improve the efficiency. We have implemented our method as a prototype tool based on the symbolic executor Cloud9. The results of the extensive experiments indicate the effectiveness of our method.","PeriodicalId":380881,"journal":{"name":"2014 21st Asia-Pacific Software Engineering Conference","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127553647","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":"Customer Requirements Validation Method Based on Mental Models","authors":"Youn Kyu Lee, H. In, R. Kazman","doi":"10.1109/APSEC.2014.39","DOIUrl":"https://doi.org/10.1109/APSEC.2014.39","url":null,"abstract":"Customer requirements are critical factors in the success of a software project. Owing to their importance, several methods for understanding customer requirements have been studied in requirements engineering. Although previous studies have mainly focused on the elicitation and analysis of requirements, a method for validating elicited requirements from the customers' perspective has not been actively studied. In this paper, we propose a customer requirements validation (Curve) method using the mental model technique, which is used for analyzing customers' behaviors and their mental states. The Curve provides clear criteria for requirements validation, an integrated framework for evaluating requirements, and it enables prioritization of key requirements based on customers' inner needs. Through this method it is possible to produce software products that better satisfy customers' true needs.","PeriodicalId":380881,"journal":{"name":"2014 21st Asia-Pacific Software Engineering Conference","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117021133","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":"Evaluation of Maude as a Test Generation Engine for Automotive Operating Systems","authors":"Yunja Choi, Min Zhang, K. Ogata","doi":"10.1109/APSEC.2014.52","DOIUrl":"https://doi.org/10.1109/APSEC.2014.52","url":null,"abstract":"This work evaluates Maude, an expressive and executable algebraic specification language, as a potential test sequence generation engine in the context of constraint-based test sequence generation for automotive operating systems. Our approach defines requirement specifications for automotive operating systems compliant with the OSEK/VDX international standard, and specifies constraint patterns in Maude. The correctness of the Maude specification is verified using LTL model checking and the test sequences from each classified environment are generated using reach ability computation provided by the Maude rewriting engine. Experimental evaluation shows that constraint-based test generation using Maude can be as effective as that of using NuS MV, a state machine based specification language specialized for model checking and specification-based testing, but more expressive and flexible.","PeriodicalId":380881,"journal":{"name":"2014 21st Asia-Pacific Software Engineering Conference","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115112355","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":"Test Scenario Generation for Reliability Tactics from UML Sequence Diagram","authors":"Xiang Qiu, Li Zhang","doi":"10.1109/APSEC.2014.11","DOIUrl":"https://doi.org/10.1109/APSEC.2014.11","url":null,"abstract":"In safety-critical systems (e.g. Ship control system, avionics system), various reliability tactics are applied for guaranteeing the safe operation of the system. Therefore, much more attentions during the testing process are expected to be paid on these tactics. However, since developers cannot identify the reliability tactics from the system design effectively, the traditional testing approaches cannot obtain the test scenarios associated with reliability tactics directly. Based on our previous works about the aspect specifications of reliability tactics, we propose an approach for generating the test scenarios associated with reliability tactics from Sequence Diagram of Unified Modeling Language (UML). Owing to the separation of reliability tactics from the base model, the Label Transition Systems (LTSs) of the base and tactic aspect model can be obtained as intermediate models of generation process respectively. Then the action sequences of above LTSs are generated. Following the proposed principles, we can acquire the test scenarios associated with reliability tactics through integrating the action sequences of tactic aspect models with the ones of the base model. An avionics system is used to evaluate the availability of our approach. The results show that 1) our approach can effectively identify the test scenarios associated with reliability tactics from all possible test scenarios of system design, 2) the aspect specifications of reliability tactics can alleviate the input effort of test scenario generation for different functional fragments. We also exemplify the advantage of our approach for supporting the model changes.","PeriodicalId":380881,"journal":{"name":"2014 21st Asia-Pacific Software Engineering Conference","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123962955","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}