41,749 research outputs found

    An application of machine learning to the organization of institutional software repositories

    Get PDF
    Software reuse has become a major goal in the development of space systems, as a recent NASA-wide workshop on the subject made clear. The Data Systems Technology Division of Goddard Space Flight Center has been working on tools and techniques for promoting reuse, in particular in the development of satellite ground support software. One of these tools is the Experiment in Libraries via Incremental Schemata and Cobweb (ElvisC). ElvisC applies machine learning to the problem of organizing a reusable software component library for efficient and reliable retrieval. In this paper we describe the background factors that have motivated this work, present the design of the system, and evaluate the results of its application

    Automating reuse support in a small company

    Get PDF
    Software engineering has been facing a crisis for several years now - there is more demand for new software than there is ability to supply. Software reuse is a potential way to tackle the problems caused by the software crisis with its promises of increased productivity and cheaper development costs. Several software reuse successes have been reported, but these have been predominantly in large, well structured companies. However, there are numerous smaller companies that could also benefit from reuse if it were made available to them. This thesis addresses these issues by implementing a reuse programme in a small company. An incremental approach to reuse introduction is adopted, following the Seven Steps to Success, and 'lightweight' processes are recommended to support the reuse programme. A prototype tool set, ReThree- C++, was developed to automate support for the reuse programme. The results of the case study are presented. The reuse programme was successful, with benefits to the company including both increased speed of production and financial gains from selling reusable components. The challenges faced are also identified. Details of the tool set giving automated support for reuse are also presented. The tool set is an approach to reuse repository control which also integrates information abstraction from C++ source code to generate class hierarchy charts and software documentation automatically. It helps developers store, retrieve, understand and use reusable components. The usefulness of the tool set is shown with an experiment and as part of the case study. The purpose of the thesis is to show that small companies can implement reuse, and that the method presented supports the introduction of a reuse programme. It concludes that although challenges were faced, great benefits can be gained by using the method with automated support for reuse in a small company

    Large project experiences with object-oriented methods and reuse

    Get PDF
    The SSVTF (Space Station Verification and Training Facility) project is completing the Preliminary Design Review of a large software development using object-oriented methods and systematic reuse. An incremental developmental lifecycle was tailored to provide early feedback and guidance on methods and products, with repeated attention to reuse. Object oriented methods were formally taught and supported by realistic examples. Reuse was readily accepted and planned by the developers. Schedule and budget issues were handled by agreements and work sharing arranged by the developers

    Una propuesta de reutilizacion de activos de software para DTI, Universidad de Talca: un enfoque metodologico

    Get PDF
    87 p.La Dirección de Tecnologías de Información DTI, de la Universidad de Talca, ha identificado una tecnología que podría ayudar a optimizar el uso del recurso conocimiento del área de desarrollo, es decir, la reutilización de activos de software. Desafortunadamente el amplio concepto de la tecnología que incluye todo tipo de conocimiento generado en la unidad, exige altas habilidades de gestión de la información que involucran el uso de recursos tanto humanos como tecnológicos que contrastan con los existentes. Si bien el análisis de los procesos de desarrollo de DTI, indica que en la actualidad la tecnología no se encuentra incorporada ni siquiera en un nivel informal, se observa una oportunidad alta de incorporar la práctica en los procesos de desarrollo. La presente memoria corresponde a una propuesta de incorporación de reutilización de activos de software en los procesos de desarrollo de DTI, que cumple con los criterios de implementación de la tecnología que representan a la unidad. La propuesta se basa en una estrategia incremental de implementación que establece una etapa inicial que tiene como finalidad la promoción de la práctica en el equipo de desarrollo, a través del uso de una herramienta informática asistente también propuesta. Palabras claves: Reutilización de activos de software, proceso de reutilización de activos de software, clasificación de activos de software, activos reutilizables./ ABSTRACT: The Information Technology Unit of the University of Talca, has identified a technology that could help to optimize the use of the knowledge resource in the organization. Software asset reuse. Unfortunately the wide concept of the technology which includes any kind of generated knowledge at the unit, demands high skills of information management which implies human and technological resources that are in contrast with the available. Despite the analysis of the current software processes at DTI, indicates that the technology is not even used at an informal level, a high opportunity to incorporate the technology in the software process is observable. The present work is a proposal to incorporate software asset reuse in the software development process at DTI, that fulfils the implementation criteria of the technology that represent the unit. The proposal is based on an incremental implementation strategy that establish an initial stage that looks for the promotion of the technology in the development team, trough the use of a computer tool also proposed. Key words: Software asset reuse, software asset reuse process, software asset classification, reusable assets

    Distributed memory compiler methods for irregular problems: Data copy reuse and runtime partitioning

    Get PDF
    Outlined here are two methods which we believe will play an important role in any distributed memory compiler able to handle sparse and unstructured problems. We describe how to link runtime partitioners to distributed memory compilers. In our scheme, programmers can implicitly specify how data and loop iterations are to be distributed between processors. This insulates users from having to deal explicitly with potentially complex algorithms that carry out work and data partitioning. We also describe a viable mechanism for tracking and reusing copies of off-processor data. In many programs, several loops access the same off-processor memory locations. As long as it can be verified that the values assigned to off-processor memory locations remain unmodified, we show that we can effectively reuse stored off-processor data. We present experimental data from a 3-D unstructured Euler solver run on iPSC/860 to demonstrate the usefulness of our methods

    Incremental and Modular Context-sensitive Analysis

    Full text link
    Context-sensitive global analysis of large code bases can be expensive, which can make its use impractical during software development. However, there are many situations in which modifications are small and isolated within a few components, and it is desirable to reuse as much as possible previous analysis results. This has been achieved to date through incremental global analysis fixpoint algorithms that achieve cost reductions at fine levels of granularity, such as changes in program lines. However, these fine-grained techniques are not directly applicable to modular programs, nor are they designed to take advantage of modular structures. This paper describes, implements, and evaluates an algorithm that performs efficient context-sensitive analysis incrementally on modular partitions of programs. The experimental results show that the proposed modular algorithm shows significant improvements, in both time and memory consumption, when compared to existing non-modular, fine-grain incremental analysis techniques. Furthermore, thanks to the proposed inter-modular propagation of analysis information, our algorithm also outperforms traditional modular analysis even when analyzing from scratch.Comment: 56 pages, 27 figures. To be published in Theory and Practice of Logic Programming. v3 corresponds to the extended version of the ICLP2018 Technical Communication. v4 is the revised version submitted to Theory and Practice of Logic Programming. v5 (this one) is the final author version to be published in TPL

    Software Reuse in Agile Development Organizations - A Conceptual Management Tool

    Get PDF
    The reuse of knowledge is considered a major factor for increasing productivity and quality. In the software industry knowledge is embodied in software assets such as code components, functional designs and test cases. This kind of knowledge reuse is also referred to as software reuse. Although the benefits can be substantial, software reuse has never reached its full potential. Organizations are not aware of the different levels of reuse or do not know how to address reuse issues. This paper proposes a conceptual management tool for supporting software reuse. Furthermore the paper presents the findings of the application of the management tool in an agile development organization
    corecore