110 research outputs found

    An Automated Framework for Structural Test-data Generation

    Get PDF
    Structural testing criteria are mandated in many software development standards and guidelines. The process of generating test data to achieve 100% coverage of a given structural coverage metric is labour-intensive and expensive. This paper presents an approach to automate the generation of such test data. The test-data generation is based on the application of a dynamic optimisation-based search for the required test data. The same approach can be generalised to solve other test-data generation problems. Three such applications are discussed-boundary value analysis, assertion/run-time exception testing, and component re-use testing. A prototype tool-set has been developed to facilitate the automatic generation of test data for these structural testing problems. The results of preliminary experiments using this technique and the prototype tool-set are presented and show the efficiency and effectiveness of this approac

    Test data generation method for dynamic - structural testing in automatic programming assessment

    Get PDF
    Automatic Programming Assessment or so-called APA has being known as a significant method in assisting lecturers to perform automated assessment and grading on students’ programming assignments. Having to execute a dynamic testing in APA, it is necessary to prepare a set of test data through a systematic test data generation process. Particularly focusing on the software testing research area, various automated methods for test data generation have been proposed. However, they are rarely being utilized in recent studies of APA. There have been limited early attempts to integrate APA and test data generation, but there is still a lack of research in deriving and generating test data for dynamic structural testing. To bridge the gap this study proposes a method of test data generation for dynamic structural testing (or is called DyStruc-TDG). DyStruc-TDG is realized as a tangible deliverable that acts as a test data generator to support APA. The findings from conducted controlled experiment that is based on one-group pre-test and post-test design depict that DyStruc-TDG improves the criteria of reliability (or called positive testing) of test data adequacy in programming assessments. The proposed method is expectantly to assist the lecturers who teach introductory programming courses to derive and generate test data and test cases to perform automatic programming assessment regardless of having a particular knowledge of test cases design in conducting a structural testing. By utilizing this method as part of APA, the lecturers’ workload can be reduced effectively since the typical manual assessments are always prone to errors and leading to inconsistency

    Validation & Verification of an EDA automated synthesis tool

    Get PDF
    Reliability and correctness are two mandatory features for automated synthesis tools. To reach the goals several campaigns of Validation and Verification (V&V) are needed. The paper presents the extensive efforts set up to prove the correctness of a newly developed EDA automated synthesis tool. The target tool, MarciaTesta, is a multi-platform automatic generator of test programs for microprocessors' caches. Getting in input the selected March Test and some architectural details about the target cache memory, the tool automatically generates the assembly level program to be run as Software Based Self-Testing (SBST). The equivalence between the original March Test, the automatically generated Assembly program, and the intermediate C/C++ program have been proved resorting to sophisticated logging mechanisms. A set of proved libraries has been generated and extensively used during the tool development. A detailed analysis of the lessons learned is reporte

    Software development tools: A bibliography, appendix C.

    Get PDF
    A bibliography containing approximately 200 citations on tools which help software developers perform some development task (such as text manipulation, testing, etc.), and which would not necessarily be found as part of a computing facility is given. The bibliography comes from a relatively random sampling of the literature and is not complete. But it is indicative of the nature and range of tools currently being prepared or currently available

    Evolutionary Programming with the Aid of A Programmers' Apprentice

    Get PDF
    This report describes research done at the Artificial Intelligence Laboratory of the Massachusetts Institute of Technology. Support for the laboratory's artificial intelligence research is provided in part by the Office of Naval Research of the Department of Defense under Contract N00014-75-C-0522.MIT Artificial Intelligence Laboratory Department of Defense Office of Naval Researc

    Solving a system of linear inequalities for generating test data

    Get PDF
    AbstractData Flow Analysis can be used to find some of the errors in a computer program and gives as output a set of dubious paths of the investigated program, which have to be checked for executability. This can be done by solving a system of inequalities in order to obtain input data for that path. This article discusses how to obtain a reliable solution of this system in the linear case, when rounding effects are taken into account. The method is based on the simplex algorithm from linear programming, and returns a solution in the middle of the feasible region. The general nonlinear case is much more difficult to handle

    Software development environments: Present and future, appendix D

    Get PDF
    Computerized environments which facilitate the development of appropriately functioning software systems are discussed. Their current status is reviewed and several trends exhibited by their history are identified. A number of principles, some at (slight) variance with the historical trends, are suggested and it is argued that observance of these principles is critical to achieving truly effective and efficient software development support environments

    ABSTRACT EXECUTION OF PROGRAMS

    Get PDF
    Compilation time analysis of programs is usually incomplete. One of the basic methods for static determination of the program's dynamic properties is symbolic execution. Symbolic execution still fails to satisfy practical requirements, mainly because of the high execution time and memory requirement, theorem proving and program termination problems. In this paper new methods are presented which can make symbolic execution applicable in everyday work, e.g. in programming microprocessor equipment

    CTGEN - a Unit Test Generator for C

    Full text link
    We present a new unit test generator for C code, CTGEN. It generates test data for C1 structural coverage and functional coverage based on pre-/post-condition specifications or internal assertions. The generator supports automated stub generation, and data to be returned by the stub to the unit under test (UUT) may be specified by means of constraints. The typical application field for CTGEN is embedded systems testing; therefore the tool can cope with the typical aliasing problems present in low-level C, including pointer arithmetics, structures and unions. CTGEN creates complete test procedures which are ready to be compiled and run against the UUT. In this paper we describe the main features of CTGEN, their technical realisation, and we elaborate on its performance in comparison to a list of competing test generation tools. Since 2011, CTGEN is used in industrial scale test campaigns for embedded systems code in the automotive domain.Comment: In Proceedings SSV 2012, arXiv:1211.587
    corecore