2 research outputs found

    Combining Static and Dynamic Analyses to Reverse-Engineer Scenario Diagrams

    Get PDF
    This paper discusses reverse engineering source code to produce UML sequence diagrams, with the aim to aid program comprehension and other software life cycle activities (e.g., verification). As a first step we produce scenario diagrams using the UML sequence diagram notation. We build on previous work, now combining static and dynamic analyses of a Java software, our objective being to obtain a lightweight instrumentation and therefore disturb the software behaviour as little as possible. We extract the control flow graph from the software source code and obtain an execution trace by instrumenting and running the software. Control flow and trace information is represented as models and UML scenario diagram generation becomes a model transformation problem. Our validation shows that we indeed reduce the execution overhead inherent to dynamic analysis, without losing in terms of the quality of the reverse-engineered information, and therefore in terms of the usefulness of the approach (e.g., for program comprehension)

    Reverse engineering sequence diagrams for Enterprise JavaBeans with business method interceptors

    No full text
    Enterprise JavaBeans (EJB) is a component technology commonly used for enterprise application development. Recent EJB 3.0 specification involves interceptors, a mechanism providing means to dynamically introduce additional behavior into the execution of a bean. As multiple interceptors can be applied to the same bean, and the order of interceptor invocation can be affected by a variety of specification rules, complexity of interceptors invocation can easily become a burden for the developers or maintainers. In order to help the developers we propose an algorithm for reverse engineering UML sequence diagrams from EJB 3.0 programs
    corecore