3,071 research outputs found

    The Java system dependence graph

    Get PDF
    The Program Dependence Graph was introduced by Ottenstein and Ottenstein in 1984 [14]. It was suggested to be a suitable internal program representation for monolithic programs, for the purpose of carrying out certain software engineering operations such as slicing and the computation of program metrics. Since then, Horwitz et al. have introduced the multi-procedural equivalent System Dependence Graph [9]. Many authors have proposed object-oriented dependence graph construction approaches [11, 10, 20, 12]. Every approach provides its own benefits, some of which are language specific. This paper is based on Java and combines the most important benefits from a range of approaches. The result is a Java System Dependence Graph, which summarises the key benefits offered by different approaches and adapts them (if necessary) to the Java language

    Statechart Slicing

    Get PDF
    The paper discusses how to reduce a statechart model by slicing. We start with the discussion of control dependencies and data dependencies in statecharts. The and-or dependence graph is introduced to represent control and data dependencies for statecharts. We show how to slice statecharts by using this dependence graph. Our slicing approach helps systems analysts and system designers in understanding system specifications, maintaining software systems, and reusing parts of systems models

    Analysis and representation of test cases generated from LOTOS

    Get PDF
    Cataloged from PDF version of article.This paper presents a method to generate, analyse and represent test cases from protocol specification. The language of temporal ordering specification (LOTOS) is mapped into an extended finite state machine (EFSM). Test cases are generated from EFSM. The generated test cases are modelled as a dependence graph. Predicate slices are used to identify infeasible test cases that must be eliminated. Redundant assignments and predicates in all the feasible test cases are removed by reducing the test case dependence graph. The reduced test case dependence graph is adapted for a local single-layer (LS) architecture. The reduced test cases for the LS architecture are enhanced to represent the tester's behaviour. The dynamic behaviour of the test cases is represented in the form of control graphs by inverting the events, assigning verdicts to the events in the enhanced dependence graph. © 1995

    Analysis of Java Programs Using Bytecode Based Frameworks

    Get PDF
    Java SDG(System dependence Graph) API and JOANA (Java Object-sensitive Analysis) are two bytecode based analysis frameworks available for analyzing object oriented java programs for different applications. In the present era, the continuous evolution of the customer expectations and requirements has resulted in the increase of size of the software. This arises the problems in maintaining software. Both the frameworks i.e Java SDG API and Joana consist of different variety of analysis techniques which are based on dependence graph generation and computation of slices of an input program. In our work, we make a comparative analysis study on the effectiveness and efficiency of both these above mentioned analysis frameworks in generating the corresponding intermediate dependence graph and computing slices. The dependence graph we have generated is SDG and we have used backward slicing approach in order to compute slices. The two-phase graph reachability algorithm is used in our work in case of Java SDG API in order to perform slicing. The two web start applications are used in order to generate and view SDG in case of Joana which are IFC console and Joana graph viewer. The analysis is based on the bytecode of the program under consideration. The experimental analysis shows that Joana can be extended for more diverse applications
    corecore