3,277 research outputs found

    Automatic Test Generation for Space

    Get PDF
    The European Space Agency (ESA) uses an engine to perform tests in the Ground Segment infrastructure, specially the Operational Simulator. This engine uses many different tools to ensure the development of regression testing infrastructure and these tests perform black-box testing to the C++ simulator implementation. VST (VisionSpace Technologies) is one of the companies that provides these services to ESA and they need a tool to infer automatically tests from the existing C++ code, instead of writing manually scripts to perform tests. With this motivation in mind, this paper explores automatic testing approaches and tools in order to propose a system that satisfies VST needs

    Contract-based slicing helps on safety reuse

    Get PDF
    In this poster we describe a work in progress aimed at using a variant of specification-based slicing to improve the reuse of annotated software components, developed under the so called design-by-contract approach. We have named this variant as contract-based because we use the annotations, more precisely the pre and post-conditions, to slice programs intra and inter-procedures. The idea, expressed in the poster, is to take the pre-condition of the reused annotated component as slicing criterion, and slice backward the program where the component is called. In that way, we can isolate the statements that have influence on the variables involved on the pre-condition and check if it is preserved by that invocation, or not.Fundação para a Ciência e a Tecnologia (FCT

    Una Experiencia de la Practica de Enseñanza de la Agroecológica en una Escuela del de Enseñanza Fundamental II en el Estado de Bahia Brasil

    Get PDF
    La educación en todo su ambito constituye en un instrumento político que tiene como finalidad educar al individuo y lo colectivo en la interacción permanente y, como consecuencia, a la transferencia de valores a la Sociedad (introducción de valores). Lo objetivo del estudio es busca despertar la importancia y la apreciación del espacio comunitario a través del proceso de enseñanza / aprendizaje Agroecología, comprender el contexto de este proceso en la formación de estos estudiantes, la apropiación del conocimiento, y por lo tanto tratar de relacionar las prácticas de enseñanza con la realidad y la necesidad de que los estudiantes experimentan a diario en sus comunidades. A lograr con del objetivo la metodología utilizados se basaron en Paulo Freire a la educación popular, la valoración de la Educación Rural y Agroecología, con la ayuda de métodos Freinet. Los resultados cuentan de que los estudiantes manifestaron un aprendizaje significativo acerca de las prácticas de la agroecología. Se analizaron 21 ensayos. Además de los ensayos se hicieron mapas de la comunidad en torno a la escuela. Fundamentada en estas producciones de textos, se observó que los estudiantes desarrollaron una conciencia de la importancia del manejo agroecológico en la siembra para la conservación y preservación del medio ambiente. El proceso de la conciencia de la preservación del medio ambiente debe impregnar el campo de la afectividad, habilitada por mirar lo que la conciencia crítica se despierta. Todo aprendizaje, incluyendo el contenido científico, tiene una dimensión afectiva. Sentimientos y emociones modulan las actitudes, gustos, disposición y motivación para aprender, promoviendo tanto encanto e interés, como la hostilidad y aversión. La conciencia crítica despertado en los estudiantes que caminan a clase con el conocimiento de la siembra agroecológica, permitió a los estudiantes a aprender acerca de otra forma de producir alimentos en cantidad y calidad

    Code analysis: past and present

    Get PDF
    The integration of Software components within complex industrial applications with severe security standards, requires strict quality assessment of each integrated component. That is, requires a guarantee that each component is compliant with the software development good practices and all the standards in use. If full certification is easy to obtain for proprietary modules, it is particularly hard to achieve when dealing with Open-Source Software pieces, demanding for rigorous methods and techniques to implement their certification process. In this context, code analysis plays an important role as the basis for the automatization of quality assessment of open source software projects – code analysis provides the techniques and tools to implement the necessary validation process. Although source code is still the most explored (the main support for analysis), nowadays this assessment process should be able to deal with code at different compilation levels. Due to its relevance for the open source software certification task, this paper reviews code analysis area (stages of the analyzing process, traditional approaches, and future trends), aiming at identifying what is available, and what deserves further research.Fundação para a Ciência e a Tecnologia (FCT

    Contract-based slicing

    Get PDF
    In the last years, the concern with the correctness of programs has been leading programmers to enrich their programs with annotations following the principles of design-by-contract, in order to be able to guarantee their correct behaviour and to facilitate reuse of verified components without having to reconstruct proofs of correctness. In this paper we adapt the idea of specification-based slicing to the scope of (contract-based) program verification systems and behaviour specification languages. In this direction, we introduce the notion of contract-based slice of a program and show how any specification-based slicing algorithm can be used as the basis for a contract-based slicing algorithm.Fundação para a Ciência e a Tecnologia (FCT) - RESCUE (PTDC / EIA / 65862 / 2006), CROSS (PTDC / EIACCO/ 108995 / 2008)

    Program analysis and evaluation using QUIMERA

    Get PDF
    During last years, a new challenge rose up inside the programming communities: the programming contests. Programming contests can vary slightly in the rules but all of them are intended to assess the competitor skills concerning the ability to solve problems using a computer. These contests raise up three kind of challenges: to create a nice problem statement (for the members of the scientific committee); to solve the problem in a good way (for the programmers); to find a fair way to assess the results (for the judges). This paper presents a web-based application, QUIMERA intended to be a full programming-contest management system, as well as an automatic judge. Besides the traditional dynamic approach for program evaluation, QUIMERA still provides static analysis of the program for a more fine assessment of solutions. Static analysis takes profit from the technology developed for compilers and language-based tools and is supported by source code analysis and software metrics.(undefined

    Parser generation in Perl : an overview and available tools

    Get PDF
    There are some modules on Comprehensive Perl Archive Network to help with the parser generation process in Perl. Unfortunately, some are limited, only supporting a particular parser algorithm and do not covering some developer needs. In this document we will analyse some of these modules, testing them in terms of performance and usability, allowing a proper evaluation of the results and careful considerations about the state of art of parser generation using Perl

    Properties preservation during transformation

    Get PDF
    To prove the correctness of a program (written in a high level programming language) with respect to a specification (a set of proof obligations) does not assure the correctness of the machine code that the end-user will run after compilation and deployment phases. The code generated by the compiler should be verified again to guarantee that its correctness was preserved, and then that it can be executed in safety. In the context of a Ph.D. work in the area of software analysis and transformation, we are looking for a suitable approach to prove that the software properties (validated at source level) are kept during translation. In this position paper we introduce our architectural proposal, and discuss the platform and we are building for Java+JML on the top of Eclipse.Fundação para a Ciência e a Tecnologia (FCT) - MAPi/FCT, bolsa de doutoramento nº. SFRH/BD/33231/2007

    Safe integration of annotated components in open source projects

    Get PDF
    The decision of using existing software components versus building from scratch custom software is one of the most complex and important choices of the entire development/integration process. However, the reuse of software components raises a spectrum of issues, from requirements negotiation to product selection and integration. The correct tradeoff is reached after having analyzed advantages and issues correlated to the reuse. Despite the reuse failures in real cases, many efforts have been made to make this idea successful. In this context of software reuse in open source projects, we address the problem of reusing annotated components proposing a rigorous approach to assure the quality of the application under construction. We introduce the concept of caller-based slicing as a way of certifying that the integration of a component annotated with a contract into a system will preserve the correct behavior of the former, avoiding malfunctioning after integration. To complement the efforts done and the benefits of slicing techniques, there is also a need to find an efficient way to visualize the main program with the annotated components and the slices. To take full profit of visualization, it is crucial to combine the visualization of the control/data flow with the textual representation of source code. To attain this objective, we extend the notions of System Dependence Graph and Slicing Criterion to cope with annotations.Fundação para a Ciência e a Tecnologia (FCT

    GamaSlicer : an online laboratory for program verification and analysis

    Get PDF
    In this paper we present the GamaSlicer tool, which is primarily a semantics-based program slicer that also offers formal verification (generation of verification conditions) and program visualization functionality. The tool allows users to obtain slices using a number of different families of slicing algorithms (\precond-based, \postcond-based, and specification-based), from a correct software component annotated with pre and postconditions (contracts written in JML-annotated Java). Each family in turn contains algorithms of different precision (with more precise algorithms being asymptotically slower). A novelty of our work at the theoretical level is the inclusion of a new, much more effective algorithm for specification-based slicing, and in fact other current work at this level is being progressively incorporated in the tool. The tool also generates (in a step-by-step fashion) a set of verification conditions (as formulas written in the SMT-lib language, which enables the use of different automatic SMT provers). This allows to establish the initial correctness of the code with respect to their contracts.Fundação para a Ciência e a Tecnologia (FCT
    corecore