Shaukat Ali, Muhammad Zohaib Z. Iqbal, Andrea Arcuri, L. Briand
{"title":"A Search-Based OCL Constraint Solver for Model-Based Test Data Generation","authors":"Shaukat Ali, Muhammad Zohaib Z. Iqbal, Andrea Arcuri, L. Briand","doi":"10.1109/QSIC.2011.17","DOIUrl":"https://doi.org/10.1109/QSIC.2011.17","url":null,"abstract":"Model-based testing (MBT) aims at automated, scalable, and systematic testing solutions for complex industrial software systems. To increase chances of adoption in industrial contexts, software systems should be modeled using well-established standards such as the Unified Modeling Language (UML) and Object Constraint Language (OCL). Given that test data generation is one of the major challenges to automate MBT, this is the topic of this paper with a specific focus on test data generation from OCL constraints. Though search-based software testing (SBST) has been applied to test data generation for white-box testing (e.g., branch coverage), its application to the MBT of industrial software systems has been limited. In this paper, we propose a set of search heuristics based on OCL constraints to guide test data generation and automate MBT in industrial applications. These heuristics are used to develop an OCL solver exclusively based on search, in this particular case genetic algorithm and (1+1) EA. Empirical analyses to evaluate the feasibility of our approach are carried out on one industrial system.","PeriodicalId":309774,"journal":{"name":"2011 11th International Conference on Quality Software","volume":"344 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-07-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123353701","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}
Jian Xu, W. Chan, Zhenyu Zhang, T. Tse, Shanping Li
{"title":"A Dynamic Fault Localization Technique with Noise Reduction for Java Programs","authors":"Jian Xu, W. Chan, Zhenyu Zhang, T. Tse, Shanping Li","doi":"10.1109/QSIC.2011.32","DOIUrl":"https://doi.org/10.1109/QSIC.2011.32","url":null,"abstract":"Existing fault localization techniques combine various program features and similarity coefficients with the aim of precisely assessing the similarities among the dynamic spectra of these program features to predict the locations of faults. Many such techniques estimate the probability of a particular program feature causing the observed failures. They ignore the noise introduced by the other features on the same set of executions that may lead to the observed failures. In this paper, we propose both the use of chains of key basic blocks as program features and an innovative similarity coefficient that has noise reduction effect. We have implemented our proposal in a technique known as MKBC. We have empirically evaluated MKBC using three real-life medium-sized programs with real faults. The results show that MKBC outperforms Tarantula, Jaccard, SBI, and Ochiai significantly.","PeriodicalId":309774,"journal":{"name":"2011 11th International Conference on Quality Software","volume":"39 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-07-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125208828","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 the Modifiability of the Architecture of Business Applications","authors":"Xulin Zhao, Foutse Khomh, Ying Zou","doi":"10.1109/QSIC.2011.36","DOIUrl":"https://doi.org/10.1109/QSIC.2011.36","url":null,"abstract":"In the current rapidly changing business environment, organizations must keep on changing their business applications to maintain their competitive edges. Therefore, the modifiability of a business application is critical to the success of organizations. Software architecture plays an important role in ensuring a desired modifiability of business applications. However, few approaches exist to automatically assess and improve the modifiability of software architectures. Generally speaking, existing approaches rely on software architects to design software architecture based on their experience and knowledge. In this paper, we build on our prior work on automatic generation of software architectures from business processes and propose a collection of model transformation rules to automatically improve the modifiability of software architectures. We extend a set of existing product metrics to assess the modifiability impact of the proposed model transformation rules and guide the quality improvement process. Eventually, we can generate software architecture with desired modifiability from business processes. We conduct a case study to illustrate the effectiveness of our transformation rules.","PeriodicalId":309774,"journal":{"name":"2011 11th International Conference on Quality Software","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-07-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132326310","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}
Stefan J. Galler, Thomas Quaritsch, Martin Weiglhofer, F. Wotawa
{"title":"The IntiSa Approach: Test Input Data Generation for Non-primitive Data Types by Means of SMT Solver Based Bounded Model Checking","authors":"Stefan J. Galler, Thomas Quaritsch, Martin Weiglhofer, F. Wotawa","doi":"10.1109/QSIC.2011.22","DOIUrl":"https://doi.org/10.1109/QSIC.2011.22","url":null,"abstract":"In this paper we present an approach for automatically deriving test input data from Design by Contract specifications. Preconditions of a method under test (MUT) require specific object states of the input parameters. In this paper we present IntiSa, a novel approach, which calculates test input values to be used with mock objects. The calculated values do not only satisfy the precondition of the method under test, but are guaranteed to be states that could be reached through method calls on the object as well. This property is not supported by previous work, such as random or pure SMT based approaches, and genetic algorithm. But it is important since it reduces false positive test cases. Based on the idea of bounded-model checking, IntiSa encodes possible state space changes of method calls for all parameters of the MUT. This model is then verified against an adopted precondition of the MUT. Besides a detailed discussion of the IntiSa approach we present results obtained by applying our technique to two case studies, one of them a real world application provided by our industry partner. First results show, that IntiSa is twice as fast as random ingenerating primitive and non-primitive test input that satisfies the precondition of the method under test.","PeriodicalId":309774,"journal":{"name":"2011 11th International Conference on Quality Software","volume":"6 10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-07-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115236755","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":"Towards Impact Analysis of Test Goal Prioritization on the Efficient Execution of Automatically Generated Test Suites Based on State Machines","authors":"Stephan Weißleder","doi":"10.1109/QSIC.2011.38","DOIUrl":"https://doi.org/10.1109/QSIC.2011.38","url":null,"abstract":"Test prioritization aims at reducing test execution costs. There are several approaches to prioritize test cases based on collected data of previous test runs, e.g., in regression testing. In this paper, we present a new approach to test prioritization for efficient test execution that is focused on the artifacts used in model-based test generation from state machines. We propose heuristics for test goal prioritizations and evaluate them using two different test models. Our finding is that the prioritizations can have a positive impacton the test execution efficiency. This impact, however, is hard to predict for a concrete situation. Thus, the question for the general gain of test goal prioritizations is still open.","PeriodicalId":309774,"journal":{"name":"2011 11th International Conference on Quality Software","volume":"51 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-07-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124617326","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}
Aneta Vulgarakis, C. Seceleanu, P. Pettersson, I. Skuliber, D. Huljenic
{"title":"Validation of Embedded Systems Behavioral Models on a Component-Based Ericsson Nikola Tesla Demonstrator","authors":"Aneta Vulgarakis, C. Seceleanu, P. Pettersson, I. Skuliber, D. Huljenic","doi":"10.1109/QSIC.2011.11","DOIUrl":"https://doi.org/10.1109/QSIC.2011.11","url":null,"abstract":"Embedded systems are challenging to design, due to the implementation platform constraints that have to be considered, preferably from early stages of design, next-by system functionality. Hence, embedded system models need to be timing and resource-aware, to make formal verification of extra functional properties applicable at high levels of abstraction. In most cases, a frequent obstacle to the successful application of such rigorous techniques is the lack of the proposed models'validation against real-world application measurements. In this paper, we show how to model extra-functional behavior, and verify the resulted behavioral models of a component-based Ericsson Nikola Tesla prototype telecommunications system. The models are described in our recently introduced REMES language, with Priced Timed Automata semantics that allows us to apply UPPAAL -based tools for model-checking the system'sresponse time and compute optimal resource usage traces. The validation of our models is ensured by using actual values of timing, CPU, and memory usage in our models, measured by Ericsson researchers on the prototype's source code.","PeriodicalId":309774,"journal":{"name":"2011 11th International Conference on Quality Software","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-07-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129421536","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 Checking of Quality Best Practices in Software Development Documents","authors":"A. Dautovic, Reinhold Plösch, Matthias Saft","doi":"10.1109/QSIC.2011.23","DOIUrl":"https://doi.org/10.1109/QSIC.2011.23","url":null,"abstract":"Quality assurance tasks of software products typically take place throughout the entire software development life-cycle. Frequently, paper-based inspections methods are used to review software development documents (e.g. requirements specifications, design documents, test plans). Nevertheless, even though the quality of these documents has a major impact on the quality of the developed software product, they are often not as rigorously reviewed as source code. This paper presents a tool-based approach that facilitates the software inspection process in order to determine defects of generally accepted documentation best practices in software development documents. Moreover, we present results of a conducted empirical study and show how this tool-based approach helps to facilitate inspection tasks and to support gathering information on the quality of the inspected documents.","PeriodicalId":309774,"journal":{"name":"2011 11th International Conference on Quality Software","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-07-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126876882","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":"Parameterised Argument Structure for GSN Patterns","authors":"Y. Matsuno, K. Taguchi","doi":"10.1109/QSIC.2011.35","DOIUrl":"https://doi.org/10.1109/QSIC.2011.35","url":null,"abstract":"GSN (Goal Structuring Notation) is a graphical notation widely used to construct assurance cases, which are required for the system assurance of safety critical systems. Patterns and their supporting constructs are proposed in GSN, which include parameterized expressions in order to facilitate the reuse of existing assurance cases. Unfortunately the current GSN does not provide the precise account of parameterized expressions, thereby it is hard to automate their consistency check. The aim of this paper is to present a new proposal towards parameterisation of patterns in GSN and to show its formal background. We will present a new parameterised expressions with types, their scoping rules and type checking mechanism, which provide the safeguard to misuses of parameterised patterns and the means to automate checking their type consistency.","PeriodicalId":309774,"journal":{"name":"2011 11th International Conference on Quality Software","volume":"342 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-07-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122543476","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 Practical Adequate Test Suites for Integrated Test Case Prioritization and Fault Localization","authors":"Bo Jiang, W. Chan, T. Tse","doi":"10.1109/QSIC.2011.37","DOIUrl":"https://doi.org/10.1109/QSIC.2011.37","url":null,"abstract":"An effective integration between testing and debugging should address how well testing and fault localization can work together productively. In this paper, we report an empirical study on the effectiveness of using adequate test suites for fault localization. We also investigate the integration of test case prioritization and statistical fault localization with a postmortem analysis approach. Our results on 16 test case prioritization techniques and four statistical fault localization techniques show that, although much advancement has been made in the last decade, test adequacy criteria are still insufficient in supporting effective fault localization. We also find that the use of branch-adequate test suites is more likely than statement-adequate test suites in the effective support of statistical fault localization.","PeriodicalId":309774,"journal":{"name":"2011 11th International Conference on Quality Software","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-07-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124574041","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":"Spectrum-Based Fault Localization: Testing Oracles are No Longer Mandatory","authors":"Xiaoyuan Xie, W. E. Wong, T. Chen, Baowen Xu","doi":"10.1109/QSIC.2011.20","DOIUrl":"https://doi.org/10.1109/QSIC.2011.20","url":null,"abstract":"Spectrum-based Fault Localization (SBFL) is one of the most popular approaches for locating software faults, and has received much attention because of its simplicity and effectiveness. It utilizes the execution result of each test case (failure or pass) and the corresponding coverage information to evaluate the likelihood of each program entity (e.g., a statement or a predicate) being faulty. Different formulas for computing such likelihood have been proposed based on different intuitions. All existing SBFL techniques have assumed the existence of a testing oracle, that is, a mechanism which can determine whether the execution of a test case fails or passes. However, such an assumption does not always hold. Recently, metamorphic testing has been proposed to alleviate the oracle problem. Thus, it is a natural extension to investigate how it can help SBFL techniques to locate faults even without using a testing oracle. Based on the framework of metamorphic testing, we have developed a novel concept of mice as a counterpart of the slice used in the current SBFL techniques. More precisely, in the absence of a testing oracle, we can determine whether an expected characterization of the program is satisfied. The outcomes of dissatisfaction or satisfaction of an expected characterization are then regarded as the counterparts of failed or passed executions, respectively, when a testing oracle exists. Since our approach does not require the existence of a testing oracle, it significantly enhances the applicability of SBFL techniques. Case studies on three popular SBFL techniques (Tarantula, Ochiai and Jaccard) with 9 applications are reported to demonstrate the use of the proposed fault localization technique.","PeriodicalId":309774,"journal":{"name":"2011 11th International Conference on Quality Software","volume":"44 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-07-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126312700","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}