69,987 research outputs found

    Software Requirements As Executable Code

    Get PDF
    This project analyzed the effectiveness of using Story Testing frameworks to create an application directly from user specifications. It did this by taking an example business application with traditional specifications and rewriting those specifications in three different Story Testing Frameworks - Cucumber, FitNesse, and JBehave. Analysis of results drew the following conclusions: 1) Story Testing can help prove a project\u27s completeness, 2) Specifications are still too technical, 3) Implementation is not overly complex, and 4) Story Testing is worth it. It proposed future research around evaluating natural languages and seeking more user-friendly ways of writing specifications in a natural language

    Leveraging Semantic Web Service Descriptions for Validation by Automated Functional Testing

    Get PDF
    Recent years have seen the utilisation of Semantic Web Service descriptions for automating a wide range of service-related activities, with a primary focus on service discovery, composition, execution and mediation. An important area which so far has received less attention is service validation, whereby advertised services are proven to conform to required behavioural specifications. This paper proposes a method for validation of service-oriented systems through automated functional testing. The method leverages ontology-based and rule-based descriptions of service inputs, outputs, preconditions and effects (IOPE) for constructing a stateful EFSM specification. The specification is subsequently utilised for functional testing and validation using the proven Stream X-machine (SXM) testing methodology. Complete functional test sets are generated automatically at an abstract level and are then applied to concrete Web services, using test drivers created from the Web service descriptions. The testing method comes with completeness guarantees and provides a strong method for validating the behaviour of Web services

    QuickSpec: Guessing Formal Specifications using Testing

    Get PDF
    We present QuickSpec, a tool that automatically generates algebraic specifications for sets of pure functions. The tool is based on testing, rather than static analysis or theorem proving. The main challenge QuickSpec faces is to keep the number of generated equations to a minimum while maintaining completeness. We demonstrate how QuickSpec can improve one’s understanding of a program module by exploring the laws that are generated using two case studies: a heap library for Haskell and a fixed-point arithmetic library for Erlang

    Proving inductive equalities algorithms and implementation

    Get PDF
    The aim of this paper is first to describe an algorithm for testing sufficient completeness and second to present concepts necessary to understand the behavior of an implementation of an automatic prover of inductive properties of functional programs or specifications of abstract data types. These programs or specifications are rewriting systems and relations between constructors are allowed. The method is essentially based on a proof by consistency implemented through a Knuth-Bendix completion, extending the Huet-Hullot approach in many respects. This requires to prove the inductive completeness of the set of relations among the constructors, and the relative (or sufficient) completeness of the definitions of the function. After introducing the concept of inductive completeness, inductively complete theories are presented. On the other hand a test of relative completeness is implemented by an extension of an algorithm that worked only when no relation among constructors existed

    Equivalence proofs for Erlang refactoring

    Get PDF
    Erlang is an actor-based programming language used extensively for building concurrent, reactive systems that are highlighly available and suffer minimum downtime. Such systems are often mission critical, making system correctness vital. In industrial-scale systems, correctness is usually ascertained through testing, a lightweight verification technique trading analysis completeness for scalability. In such cases, a system is deemed correct whenever it “passes” a suite of tests, each checking for the correct functionality of a particular aspect of a system. This is also true for large Erlang systems: even when correctness specifications are provided, it is commonplace for Erlang developers to use testing tools, automating test-case generation from these specifications.peer-reviewe

    Evaluation of a tool for Java structural specification checking

    Get PDF
    Although a number of tools for evaluating Java code functionality and style exist, little work has been done in a distance learning context on automated marking of Java programs with respect to structural specifications. Such automated checks support human markers in assessing students’ work and evaluating their own marking; online automated marking; students checking code before submitting it for marking; and question setters evaluating the completeness of questions set. This project developed and evaluated a prototype tool that performs an automated check of a Java program’s correctness with respect to a structural specification. Questionnaires and interviews were used to gather feedback on the usefulness of the tool as a marking aid to humans, and on its potential usefulness to students for self-assessment when working on their assignments. Markers were asked to compare the usefulness of structural specification testing as compared to other kinds of support, including syntax error assistance, style checking and functionality testing. Initial results suggest that most markers using the structural specification checking tool found it to be useful, and some reported that it increased their accuracy in marking. Reasons for not using the tool included lack of time and the simplicity of the assignment it was trialled on. Some reservations were expressed about reliance on tools for assessment, both for markers and for students. The need for advice on incorporating tools in marking workflow is suggested

    Analysis of Functional Suitability and Usability in Sales Order Procedure to Determine Management Information System Quality

    Get PDF
    In the development of information systems, it is very important to pay attention to the quality of the system which can be reviewed through aspects of usability for its users and following the needs and specifications of its users. This study will analyze the quality of the sales order management information system based on two characteristics of the ISO 25010 quality standard system, namely functional suitability and usability. The functional suitability test was carried out by the BlackBox testing method to test three sub-characteristics of functional suitability that are functional completeness, functional correctness, and functional appropriateness. Usability tests use a use questionnaire which is divided into four criteria that are usefulness, ease of use, ease of learning, and satisfaction. In testing the suitability of functionality involving 5 respondents and 17 respondents in usability testing. The results of this study indicate that the sales order management system fulfills two characteristics of information system quality that are functional suitability and usability. Where all the features designed are by the successful features, and the usability characteristics are 85.45% which indicates that the system is very feasible to implement.In the development of information systems, it is very important to pay attention to the quality of the system which can be reviewed through aspects of usability for its users and following the needs and specifications of its users. This study will analyze the quality of the sales order management information system based on two characteristics of the ISO 25010 quality standard system, namely functional suitability and usability. The functional suitability test was carried out by the BlackBox testing method to test three sub-characteristics of functional suitability that are functional completeness, functional correctness, and functional appropriateness. Usability tests use a use questionnaire which is divided into four criteria that are usefulness, ease of use, ease of learning, and satisfaction. In testing the suitability of functionality involving 5 respondents and 17 respondents in usability testing. The results of this study indicate that the sales order management system fulfills two characteristics of information system quality that are functional suitability and usability. Where all the features designed are by the successful features, and the usability characteristics are 85.45% which indicates that the system is very feasible to implement

    Specifying Reusable Components

    Full text link
    Reusable software components need expressive specifications. This paper outlines a rigorous foundation to model-based contracts, a method to equip classes with strong contracts that support accurate design, implementation, and formal verification of reusable components. Model-based contracts conservatively extend the classic Design by Contract with a notion of model, which underpins the precise definitions of such concepts as abstract equivalence and specification completeness. Experiments applying model-based contracts to libraries of data structures suggest that the method enables accurate specification of practical software
    • …
    corecore