12 research outputs found

    An extensible benchmark and tooling for comparing reverse engineering approaches

    Get PDF
    Various tools exist to reverse engineer software source code and generate design information, such as UML projections. Each has specific strengths and weaknesses, however no standardised benchmark exists that can be used to evaluate and compare their performance and effectiveness in a systematic manner. To facilitate such comparison in this paper we introduce the Reverse Engineering to Design Benchmark (RED-BM), which consists of a comprehensive set of Java-based targets for reverse engineering and a formal set of performance measures with which tools and approaches can be analysed and ranked. When used to evaluate 12 industry standard tools performance figures range from 8.82\% to 100\% demonstrating the ability of the benchmark to differentiate between tools. To aid the comparison, analysis and further use of reverse engineering XMI output we have developed a parser which can interpret the XMI output format of the most commonly used reverse engineering applications, and is used in a number of tools

    Correctness and Completeness of CASE Tools in Reverse EngineeringSource Code into UML Model

    Get PDF
    This paper focuses on Computer-aided Software Engineering (CASE) tools that offer functionality for reverse engineering into Unified Modeling Language (UML) models. Such tools can be used for design recovery or round-trip engineering. For these purposes, the quality and correctness of the reverse engineering capability of these tools is of key importance: Do the tools completely reconstruct the UML diagrams? Are the reverse engineering results correct? What kind of information is presented in the result? Based on these questions, we compare eight UML CASE tools (six commercial tools and two open source tools). We evaluate i) the types of inputs that these tools can handle, ii) the types of diagrams that can be reconstructed, iii) the quality of resulting diagrams

    Caracterización de los riesgos inherentes a la Ingeniería Reversa : Herramientas para la Ingeniería Reversa

    Get PDF
    Se presenta en este documento el resultado de la línea de investigación, “Herramientas de Ingeniería Reversa”, en el marco del proyecto “Caracterización de los riesgos inherentes a la Ingeniería Reversa”. Este proyecto lo desarrolla el grupo de investigación de la Cátedra de Servicios del Software de la Universidad Tecnológica Nacional Córdoba. Se describe aquí el proceso de investigación y el desarrollo de un gráfico que tiene como objetivo informar las posibles herramientas de ingeniería de software a utilizar según las variables del proyecto que se haya encarado.Eje: Ingeniería de SoftwareRed de Universidades con Carreras en Informática (RedUNCI

    Caracterización de los riesgos inherentes a la ingeniería reversa

    Get PDF
    Dentro de la línea de investigación de Gestión de la Calidad en Ingeniería Reversa, este artículo hace foco en el proyecto de investigación orientado a caracterizar los riesgos vinculados a la Ingeniería reversa. El mismo tiene como objetivos, además de su caracterización, producir una lista de riesgos a considerar en proyectos de ingeniería reversa como un aporte a la prevención, uno de los principios fundamentales para una gestión más eficiente de la Calidad del Software en aspectos tales como funcionalidad, confiabilidad, usabilidad, mantenibilidad, portabilidad, seguridad, costos y satisfacción de los clientes-usuarios.Eje: Ingeniería de softwareRed de Universidades con Carreras en Informática (RedUNCI

    ProMeTA: A taxonomy for program metamodels in program reverse engineering

    Get PDF
    ABSTRACT: To support program comprehension, maintenance, and evolution, metamodels are frequently used during program reverse engineering activities to describe and analyze constituents of a program and their relations. Reverse engineering tools often define their own metamodels according to the intended purposes and features. Although each metamodel has its own advantages, its limitations may be addressed by other metamodels. Existing works have evaluated and compared metamodels and tools, but none have considered all the possible characteristics and limitations to provide a comprehensive guideline for classifying, comparing, reusing, and extending program metamodels. To aid practitioners and researchers in classifying, comparing, reusing, and extending program metamodels and their corresponding reverse engineering tools according to the intended goals, we establish a conceptual framework with definitions of program metamodels and related concepts. We confirmed that any reverse engineering activity can be clearly described as a pattern based on the framework from the viewpoint of program metamodels. Then the framework is used to provide a comprehensive taxonomy, named Program Metamodel TAxonomy (ProMeTA), which incorporates newly identified characteristics into those stated in previous works, which were identified via a systematic literature review (SLR) on program metamodels, while keeping the orthogonality of the entire taxonomy. Additionally, we validate the taxonomy in terms of its orthogonality and usefulness through the classification of popular metamodels

    Interactive scalable condensation of reverse engineered UML class diagrams for software comprehension

    Get PDF
    Software design documentation is a valuable aid in software comprehension. However, keeping the software design up-to-date with evolving source code is challenging and time-consuming. Reverse engineering is one of the options for recovering software architecture from the implementation code. However, reverse engineering techniques suffer from several problems; one of them is that the resultant diagrams offer too detailed information. Therefore, this thesis aims to provide an automated framework to simplify reverse engineered diagrams (specifically class diagram) for assisting software comprehension. This thesis presents a study to elicit software developer’s views on simplifying class diagrams. It also explores the suitability of object-oriented metrics as features for the class diagram simplification. This thesis introduces a novel approach for classifying class inclusion/exclusion by using object-oriented design metrics as features. In addition, a set of text metrics based on class names is invented to enhance the performance prediction by combining these text-based features with object-oriented design metrics. Based on this approach, an automated tool is developed to support software comprehension by providing interactive explorations of various design abstraction levels. Finally, the proposed framework and tool are validated through a user study.Algorithms and the Foundations of Software technolog
    corecore