Jooyoung Seo, A. Sung, Byoungju Choi, Sungbong Kang
{"title":"Automating Embedded Software Testing on an Emulated Target Board","authors":"Jooyoung Seo, A. Sung, Byoungju Choi, Sungbong Kang","doi":"10.1109/AST.2007.7","DOIUrl":"https://doi.org/10.1109/AST.2007.7","url":null,"abstract":"An embedded system consists of heterogeneous layers including hardware, HAL (hardware abstraction layer), OS kernel and application layer. Interactions between these layers are the software interfaces to be tested in an embedded system. The identified interfaces are important criterion that selects test cases and monitors the test results in order to detect faults and trace their causes. In this paper, we propose an automated scheme of embedded software interface test based on the emulated target board. The automated scheme enables to identify the location of interface in the source code to be tested, to generate test cases, and to determine 'pass' or fail' on the interface. We implemented the test tool called 'Justitia' based on the proposed scheme. As a case study, we applied the 'Justitia' to mobile embedded software on the S3C2440 microprocessor and Linux kernel v2.4.20.","PeriodicalId":211341,"journal":{"name":"Second International Workshop on Automation of Software Test (AST '07)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2007-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125403609","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 Measure of Structural Coverage for LUSTRE Programs: a Case Study","authors":"A. Lakehal, I. Parissis","doi":"10.1109/AST.2007.3","DOIUrl":"https://doi.org/10.1109/AST.2007.3","url":null,"abstract":"Lustre is a synchronous data-flow declarative language widely used for safety-critical applications (avionics, energy, transport). Scade is a commercial tool-suite based on this language. We have proposed recently test coverage criteria for Lustre/Scade programs. The coverage assessment is fully automated and has been integrated in a prototype tool, Lustructu. This tool analyzes Lustre programs and extracts the conditions that a test input sequence must verify in order to meet a criterion. The associated measures are fully automated and non-intrusive. In this paper we present a case study that applies the coverage criteria to an alarm management software specification developed in Scade. The case study is used to illustrate the defined criteria as well as to evaluate their applicability and usefulness.","PeriodicalId":211341,"journal":{"name":"Second International Workshop on Automation of Software Test (AST '07)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2007-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115822289","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 Improved Approach to Passive Testing of FSM-based Systems","authors":"H. Ural, Zhi Xu, Fan Zhang","doi":"10.1109/AST.2007.1","DOIUrl":"https://doi.org/10.1109/AST.2007.1","url":null,"abstract":"Fault detection is a fundamental part of passive testing which determines whether a system under test (SUT) is faulty by observing the input/output behavior of the SUT without interfering its normal operations. In this paper, we propose a new approach to finite state machine (FSM)-based passive fault detection which improves the performance of the approach in [4] and gathers more information during testing compared with the approach in [4]. The results of theoretical and experimental evaluations are reported.","PeriodicalId":211341,"journal":{"name":"Second International Workshop on Automation of Software Test (AST '07)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2007-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126091793","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":"Random Generation of Test Inputs for Implicitly Defined Subdomains","authors":"John A. Murphy, D. Coppit","doi":"10.1109/AST.2007.11","DOIUrl":"https://doi.org/10.1109/AST.2007.11","url":null,"abstract":"In traditional random testing, samples are taken from the set of all possible values for the input types. However, for many programs testing effectiveness can be improved by focusing on a relevant subdomain defined implicitly by the program behavior. This paper presents an algorithm for identifying and randomly selecting inputs from implicitly defined subdomains. The algorithm dynamically constructs and refines a model of the input domain and is biased toward sparsely covered regions in order to accelerate boundary identification and uniform coverage. This method has several desirable qualities: (1) it requires no knowledge of the source code of the software being tested, (2) inputs are selected from an approximately uniform distribution across the subdomain, and (3) algorithmic running time overhead is negligible. We present the requirements for a solution and our algorithm. We also evaluate our solution for both an artificial model and a real-world aircraft collision-avoidance program.","PeriodicalId":211341,"journal":{"name":"Second International Workshop on Automation of Software Test (AST '07)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2007-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130364265","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 Generation of Test Cases Using Model-Driven Architecture","authors":"A. Javed, P. Strooper, G. Watson","doi":"10.1109/AST.2007.2","DOIUrl":"https://doi.org/10.1109/AST.2007.2","url":null,"abstract":"In this paper, we demonstrate a method that uses the model transformation technology of MDA to generate unit test cases from a platform-independent model of the system. The method we propose is based on sequence diagrams. First we model the sequence diagram and then this model is automatically transformed into a general unit test case model (an xUnit model which is independent of a particular unit testing framework), using model-to-model transformations. Then model-to-text transformations are applied on the xUnit model to generate platform- specific (JUnit, SUnit etc.) test cases that are concrete and executable. We have implemented the transformations in a prototype tool based on the Tefkat transformation tool and MOFScript. The paper gives details of the tool and the transformations that we have developed. We have applied the method to a small example (ATM simulation).","PeriodicalId":211341,"journal":{"name":"Second International Workshop on Automation of Software Test (AST '07)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2007-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128435905","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. Bertolino, Jinghua Gao, E. Marchetti, A. Polini
{"title":"Automatic Test Data Generation for XML Schema-based Partition Testing","authors":"A. Bertolino, Jinghua Gao, E. Marchetti, A. Polini","doi":"10.1109/AST.2007.6","DOIUrl":"https://doi.org/10.1109/AST.2007.6","url":null,"abstract":"We present the XML-based partition testing (XPT) approach for the automatic generation of XML instances from a XML schema. The approach is inspired by the well-known category partition method for black-box testing. The generated instances can be used for inter-operability testing of applications that expect in input conforming XML instances, as well as for other interesting purposes, such as database population, XML Schema benchmarking, Web services testing, and so on. The implementation of XPT in a prototype tool called TAXI is described. To limit the number of generated instances, TAXI also incorporates practical strategies for handling element weights and type values.","PeriodicalId":211341,"journal":{"name":"Second International Workshop on Automation of Software Test (AST '07)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2007-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133665634","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":"Coverage-Based Testing on Embedded Systems","authors":"Xianming Wu, J. J. Li, D. Weiss, Yann-Hang Lee","doi":"10.1109/AST.2007.8","DOIUrl":"https://doi.org/10.1109/AST.2007.8","url":null,"abstract":"One major issue of code coverage testing is the overhead imposed by program instrumentation, which inserts probes into the program to monitor its execution. In real-time systems, the overhead may alter the program execution behavior or impact its performance due to its strict requirement on timing. Coverage testing is even harder on embedded systems because of their critical and limited memory and CPU resources. This paper describes a case study of a coverage-based testing method for embedded system software focusing on minimizing instrumentation overhead. We ported a code coverage-based test tool to an in-house embedded system, IP phone. In our initial experiments, we found that this tool didn 't affect the behavior of the program under test.","PeriodicalId":211341,"journal":{"name":"Second International Workshop on Automation of Software Test (AST '07)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2007-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114327677","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":"MobileTest: A Tool Supporting Automatic Black Box Test for Software on Smart Mobile Devices","authors":"Jiang Bo, Long Xiang, Xiaopeng Gao","doi":"10.1109/AST.2007.9","DOIUrl":"https://doi.org/10.1109/AST.2007.9","url":null,"abstract":"With the development of mobile computing and pervasive computing, smart mobile devices such as PDAs or smart-phones are gradually becoming an indispensable part of our daily life. However, as the software running on these devices becomes more and more powerful and complex, the testing of these mobile applications poses great challenges for mobile application vendors and phone manufacturers. In this paper, we introduce MobileTest, a tool supporting automatic black box test for software on smart mobile devices. The objectives and the design of the testing tool are thoroughly discussed. The paper also adopts a sensitive-event based approach to simplify the design of test cases and enhance the test cases' efficiency and reusability. Finally, we conducted an experiment in a real testing project. Measurement data of the testing process shows that MobileTest can effectively reduce the complexity of automatic test on smart mobile devices.","PeriodicalId":211341,"journal":{"name":"Second International Workshop on Automation of Software Test (AST '07)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2007-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115849897","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 Testing of Timeliness : A Case Study","authors":"R. Nilsson, A. Offutt","doi":"10.1109/AST.2007.5","DOIUrl":"https://doi.org/10.1109/AST.2007.5","url":null,"abstract":"A problem with testing timeliness of real-time applications is the response-time dependency on the execution order of concurrent tasks. Conventional test methods ignore task interleaving and timing and thus do not help determine which execution orders need to be exercised to test temporal correctness. Model based mutation testing has been proposed to generate inputs and determine the execution orders that need to be verified to increase confidence in timeliness. This paper evaluate a mutation-based framework for automated testing of timeliness by applying it on a small control system running on Linux/RTAI. The experiments presented in this paper indicate that mutation-based test cases are more effective than random and stress tests in finding both naturally occurring and randomly seeded timeliness faults.","PeriodicalId":211341,"journal":{"name":"Second International Workshop on Automation of Software Test (AST '07)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2007-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122500572","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 a Framework for Differential Unit Testing of Object-Oriented Programs","authors":"Tao Xie, Kunal Taneja, Shreya Kale, D. Marinov","doi":"10.1109/AST.2007.15","DOIUrl":"https://doi.org/10.1109/AST.2007.15","url":null,"abstract":"Software developers often face the task of determining how the behaviors of one version of a program unit differ from (or are the same as) the behaviors of a (slightly) different version of the same program unit. In such situations, developers would like to generate tests that exhibit the behavioral differences between the two versions, if any differences exist. We call this type of testing differential unit testing. Some examples of differential unit testing include regression testing, N-version testing, and mutation testing. We propose a framework, called Diffut, that enables differential unit testing of object-oriented programs. Diffut enables \"simultaneous\" execution of the pairs of corresponding methods from the two versions: methods can receive the same inputs (consisting of the object graph reachable from the receiver and method arguments), and Diffut compares their outputs (consisting of the object graph reachable from the receiver and method return values). Given two versions of a Java class, Diffut automatically synthesizes annotations (in the form of preconditions and postconditions) in the Java Modeling Language (JML) and inserts them into the unit under test to allow the simultaneous execution of the corresponding methods.","PeriodicalId":211341,"journal":{"name":"Second International Workshop on Automation of Software Test (AST '07)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2007-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125450760","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}