{"title":"ParTes: A test generation strategy for choreography participants","authors":"F. D. Angelis, D. Fanì, A. Polini","doi":"10.1109/IWAST.2013.6595787","DOIUrl":"https://doi.org/10.1109/IWAST.2013.6595787","url":null,"abstract":"Inter-organizational business processes permit to specify how different organizations can integrate to carryon business activities together. In this context choreography specifications provide a particularly useful view permitting to define how different organizations should interact and exchange messages in order to fruitfully cooperate. Tools and mechanisms permitting to check that a stakeholder, and its provided e-services, are able to correctly cooperate according to the global specification become an important and useful asset. This is particularly true when open specifications are considered and services dynamically integrate with each other at run-time. This paper proposes a novel derivation strategy for test case skeletons, which can be successively refined and concretized to check the behaviour of parties willing to play a role within a choreography enactment. The very basic idea is to derive test cases from the possible interaction traces included in the choreography specification handled as a workflow graph. The selection of traces to use for test derivation purpose is driven by a specifically conceived technique to work flow refactoring which permits to reduce the number of interleavings to explore, in particular when parallel statements are considered.","PeriodicalId":291838,"journal":{"name":"2013 8th International Workshop on Automation of Software Test (AST)","volume":"471 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116805831","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":"Profile directed systematic testing of concurrent programs","authors":"Yan Hu, Jun Yan, Jian Zhang, He Jiang","doi":"10.5555/2662413.2662424","DOIUrl":"https://doi.org/10.5555/2662413.2662424","url":null,"abstract":"Runtime data is a rich source of feedback information which can be used to improve program analysis. In this paper, we proposed a Profile directed Event driven Dynamic AnaLysis (PEDAL) to effectively detect concurrency bugs. PEDAL identifies important schedule points with the help of profiling data, and generates a reduced set of schedule points where preemptions could happen. The reduced preemption set is then used to direct the search for erroneous schedules. PEDAL is evaluated on a set of multithreaded benchmark programs, including MySQL, the industrial level database server application. Experimental results show that PEDAL is both efficient and scalable, as compared with several existing analysis techniques.","PeriodicalId":291838,"journal":{"name":"2013 8th International Workshop on Automation of Software Test (AST)","volume":"125 4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115788261","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}
Everton L. G. Alves, Patricia D. L. Machado, T. Massoni, Samuel T. C. Santos
{"title":"A refactoring-based approach for test case selection and prioritization","authors":"Everton L. G. Alves, Patricia D. L. Machado, T. Massoni, Samuel T. C. Santos","doi":"10.1109/IWAST.2013.6595798","DOIUrl":"https://doi.org/10.1109/IWAST.2013.6595798","url":null,"abstract":"Refactoring edits, commonly applied during software development, may introduce faults in a previously-stable code. Therefore, regression testing is usually applied to check whether the code maintains its previous behavior. In order to avoid rerunning the whole regression suite, test case prioritization techniques have been developed to order test cases for earlier achievement of a given goal, for instance, improving the rate of fault detection during regression testing execution. However, as current techniques are usually general purpose, they may not be effective for early detection of refactoring faults. In this paper, we propose a refactoring-based approach for selecting and prioritizing regression test cases, which specializes selection/prioritization tasks according to the type of edit made. The approach has been evaluated through a case study that compares it to well-known prioritization techniques by using a real open-source Java system. This case study indicates that the approach can be more suitable for early detection of refactoring faults when comparing to the other prioritization techniques.","PeriodicalId":291838,"journal":{"name":"2013 8th International Workshop on Automation of Software Test (AST)","volume":"80 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126220354","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}
P. Tonella, Duy Cu Nguyen, A. Marchetto, Kiran Lakhotia, M. Harman
{"title":"Automated generation of state abstraction functions using data invariant inference","authors":"P. Tonella, Duy Cu Nguyen, A. Marchetto, Kiran Lakhotia, M. Harman","doi":"10.1109/IWAST.2013.6595795","DOIUrl":"https://doi.org/10.1109/IWAST.2013.6595795","url":null,"abstract":"Model based testing relies on the availability of models that can be defined manually or by means of model inference techniques. To generate models that include meaningful state abstractions, model inference requires a set of abstraction functions as input. However, their specification is difficult and involves substantial manual effort. In this paper, we investigate a technique to automatically infer both the abstraction functions necessary to perform state abstraction and the finite state models based on such abstractions. The proposed approach uses a combination of clustering, invariant inference and genetic algorithms to optimize the abstraction functions along three quality attributes that characterize the resulting models: size, determinism and infeasibility of the admitted behaviors. Preliminary results on a small e-commerce application are extremely encouraging because the automatically produced models include the set of manually defined gold standard models.","PeriodicalId":291838,"journal":{"name":"2013 8th International Workshop on Automation of Software Test (AST)","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115622369","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":"Automated scalability testing of software as a service","authors":"Paulo Moura, Fabio Kon","doi":"10.1109/IWAST.2013.6595784","DOIUrl":"https://doi.org/10.1109/IWAST.2013.6595784","url":null,"abstract":"Scalability has been studied in several areas of Computer Science and scalability testing and evaluation of contemporary software systems is an active topic. However, most of the times, these activities are still performed in a predominantly ad hoc fashion. There are a few tools to automate this process, but they present several restrictions about what systems can be tested and how to evaluate scalability. In this paper, we introduce a flexible and extensible framework for automated scalability testing of software offered as a service and propose to evaluate the scalability using hypothesis tests. Additionally, we argue that, instead of stating if a system is scalable or not, we should find out how it could scale better.","PeriodicalId":291838,"journal":{"name":"2013 8th International Workshop on Automation of Software Test (AST)","volume":"117 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115924752","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":"XSS pattern for attack modeling in testing","authors":"Josip Bozic, F. Wotawa","doi":"10.1109/IWAST.2013.6595794","DOIUrl":"https://doi.org/10.1109/IWAST.2013.6595794","url":null,"abstract":"Security issues of web applications are still a current topic of interest especially when considering the consequences of unintended behaviour. Such services might handle sensitive data about several thousands or millions of users. Hence, exploiting services or other undesired effects that cause harm on users has to be avoided. Therefore, for software developers of such applications one of the major tasks in providing security is to embed testing methodologies into the software development cycle, thus minimizing the subsequent damage resulting in debugging and time intensive upgrading. Model-based testing evolved as one of the methodologies which offer several theoretical and practical approaches in testing the system under test (SUT) that combine several input generation strategies like mutation testing, using of concrete and symbolic execution etc. by putting the emphasis on specification of the model of an application. In this work we propose an approach that makes use of an attack pattern model in form of a UML state machine for test case generation and execution. The paper also discusses the current implementation of our attack pattern testing tool using a XSS attack pattern and demonstrates the execution in a case study.","PeriodicalId":291838,"journal":{"name":"2013 8th International Workshop on Automation of Software Test (AST)","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131118148","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. D. Castro, Gisele Macedo, Eliane Collins, A. C. Dias-Neto
{"title":"Extension of Selenium RC tool to perform automated testing with databases in web applications","authors":"A. D. Castro, Gisele Macedo, Eliane Collins, A. C. Dias-Neto","doi":"10.1109/IWAST.2013.6595803","DOIUrl":"https://doi.org/10.1109/IWAST.2013.6595803","url":null,"abstract":"This paper presents one extension of the Selenium RC tool to perform tests in web applications that require checking data in databases. This verification is performed using new functions implemented into the Selenium framework's core. These functions allow opening and closing database connection and comparing test data with data stored in the database used by the web application. This solution aims to contribute to the system quality by reducing the effort during the testing process, since the verification of UI and database elements will be performed at the same time during execution of the test scripts. A case study is described to analyze the impact of the proposed tool in terms of effort and rate of automation in the development of a new web application project. The results suggest a significant reduction (92% and 88%) in the effort to execute automated tests in database when compared to, respectively, manual and semiautomated execution.","PeriodicalId":291838,"journal":{"name":"2013 8th International Workshop on Automation of Software Test (AST)","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115907797","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}
Donia El Kateb, Yehia Elrakaiby, T. Mouelhi, Yves Le Traon
{"title":"Access control enforcement testing","authors":"Donia El Kateb, Yehia Elrakaiby, T. Mouelhi, Yves Le Traon","doi":"10.1109/IWAST.2013.6595793","DOIUrl":"https://doi.org/10.1109/IWAST.2013.6595793","url":null,"abstract":"A policy-based access control architecture comprises Policy Enforcement Points (PEPs), which are modules that intercept subjects access requests and enforce the access decision reached by a Policy Decision Point (PDP), the module implementing the access decision logic. In applications, PEPs are generally implemented manually, which can introduce errors in policy enforcement and lead to security vulnerabilities. In this paper, we propose an approach to systematically test and validate the correct enforcement of access control policies in a given target application. More specifically, we rely on a two folded approach where a static analysis of the target application is first made to identify the sensitive accesses that could be regulated by the policy. The dynamic analysis of the application is then conducted using mutation to verify for every sensitive access whether the policy is correctly enforced. The dynamic analysis of the application also gives the exact location of the PEP to enable fixing enforcement errors detected by the analysis. The approach has been validated using a case study implementing an access control policy.","PeriodicalId":291838,"journal":{"name":"2013 8th International Workshop on Automation of Software Test (AST)","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124784246","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}
W. Tsai, C. Colbourn, Jie Luo, Guanqiu Qi, Qingyang Li, Xiaoying Bai
{"title":"Test algebra for combinatorial testing","authors":"W. Tsai, C. Colbourn, Jie Luo, Guanqiu Qi, Qingyang Li, Xiaoying Bai","doi":"10.1109/IWAST.2013.6595786","DOIUrl":"https://doi.org/10.1109/IWAST.2013.6595786","url":null,"abstract":"This paper proposes a new algebraic system, Test Algebra (TA), for identifying faults in combinatorial testing for SaaS (Software-as-a-Service) applications. SaaS as a part of cloud computing is a new software delivery model, and mission-critical applications are composed, deployed, and executed in cloud platforms. Testing SaaS applications is a challenging task because new applications need to be tested when they are composed before they can be deployed for execution. Combinatorial testing algorithms can be used to identify faulty configurations and interactions from 2-way all the way to k-way where k is the number of components in the application. The TA defines rules to identify faulty configurations and interactions. Using the rules defined in the TA, a collection of configurations can be tested concurrently in different servers and in any order and the results obtained will be still same due to the algebraic constraints.","PeriodicalId":291838,"journal":{"name":"2013 8th International Workshop on Automation of Software Test (AST)","volume":"146 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122610864","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 test generation for mutation testing on database applications","authors":"Kai Pan, Xintao Wu, Tao Xie","doi":"10.1109/IWAST.2013.6595801","DOIUrl":"https://doi.org/10.1109/IWAST.2013.6595801","url":null,"abstract":"To assure high quality of database applications, testing database applications remains the most popularly used approach. In testing database applications, tests consist of both program inputs and database states. Assessing the adequacy of tests allows targeted generation of new tests for improving their adequacy (e.g., fault-detection capabilities). Comparing to code coverage criteria, mutation testing has been a stronger criterion for assessing the adequacy of tests. Mutation testing would produce a set of mutants (each being the software under test systematically seeded with a small fault) and then measure how high percentage of these mutants are killed (i.e., detected) by the tests under assessment. However, existing test-generation approaches for database applications do not provide sufficient support for killing mutants in database applications (in either program code or its embedded or resulted SQL queries). To address such issues, in this paper, we propose an approach called MutaGen that conducts test generation for mutation testing on database applications. In our approach, we first apply an existing approach that correlates various constraints within a database application through constructing synthesized database interactions and transforming the constraints from SQL queries into normal program code. Based on the transformed code, we generate program-code mutants and SQL-query mutants, and then derive and incorporate query-mutant-killing constraints into the transformed code. Then, we generate tests to satisfy query-mutant-killing constraints. Evaluation results show that MutaGen can effectively kill mutants in database applications, and MutaGen outperforms existing test-generation approaches for database applications in terms of strong mutant killing.","PeriodicalId":291838,"journal":{"name":"2013 8th International Workshop on Automation of Software Test (AST)","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114941968","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}