By Topic

Program Comprehension, 1999. Proceedings. Seventh International Workshop on

Date 5-7 May 1999

Filter Results

Displaying Results 1 - 25 of 26
  • Proceedings Seventh International Workshop on Program Comprehension

    Publication Year: 1999
    Request permission for commercial reuse | PDF file iconPDF (179 KB)
    Freely Available from IEEE
  • Index of authors

    Publication Year: 1999, Page(s):226 - 227
    Request permission for commercial reuse | PDF file iconPDF (46 KB)
    Freely Available from IEEE
  • Reconstructing ownership architectures to help understand software systems

    Publication Year: 1999, Page(s):28 - 37
    Cited by:  Papers (13)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (128 KB)

    Recent research suggests that large software systems should have a documented system architecture. One form of documentation that may help describe the structure of software systems is the organization of the developers that designed and implemented the software system. We suggest that all ownership architecture that documents the relationship between developers and source code is a valuable aid i... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A case study of applying an eclectic approach to identify objects in code

    Publication Year: 1999, Page(s):136 - 143
    Cited by:  Papers (9)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (128 KB)

    The identification of objects in procedural programs has long been recognised as a key to successful comprehension. As a consequence, several authors have proposed methods and tools that achieve, in general, some level of success, but do not always precisely identify a coherent set of objects. We show that using an eclectic approach, where a domain expert software engineer is encouraged to tailor ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Software visualisation using C++ lenses

    Publication Year: 1999, Page(s):20 - 26
    Cited by:  Papers (3)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (120 KB)

    C++ Lens is an innovative visualisation technique and associated tool, that assists maintainers to comprehend C++ source code. The primary role of the C++ Lens technique and tool is to visualise the interface relationships existing between C++ classes and to signify the importance of these relationships. The technique innovatively combines, via the definition of lenses, elements of reverse enginee... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Slicing concurrent Java programs

    Publication Year: 1999, Page(s):126 - 133
    Cited by:  Papers (17)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (260 KB)

    Although many slicing algorithms have been proposed for object oriented programs, no slicing algorithm has been proposed which can be used to handle the problem of slicing concurrent Java programs correctly. We propose a slicing algorithm for concurrent Java programs. To slice concurrent Java programs, we present a dependence based representation called multithreaded dependence graph, which extend... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Improving the visibility of graphical program displays: an experimental study

    Publication Year: 1999, Page(s):12 - 19
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (112 KB)

    The paper describes an experimental study, which compares the performance of various layout heuristics used to increase the visibility of graphical representations of computer programs. In particular, a special layout graph is considered which is known as m-column graph, and it is used to display data flow program dependencies. We show experimentally that an incremental layout heuristic approach o... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Parsing C++ despite missing declarations

    Publication Year: 1999, Page(s):114 - 125
    Cited by:  Papers (2)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (100 KB)

    The paper addresses the problem of parsing a C++ software system that is known to compile correctly, but for which some header files are unavailable. A C++ program file typically depends on numerous included header files from the same system, a third party library, or the operating system standard libraries. It is not possible with a conventional parser to analyze C++ source code without obtaining... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Comprehension with[in] virtual environment visualisations

    Publication Year: 1999, Page(s):4 - 11
    Cited by:  Papers (15)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (272 KB)

    For many years, basic visualisation based around simple boxes and lines, has been done in an attempt to be able to ease some of the cognitive overload caused by program comprehension. The problems with such visualisations is that they can very easily become incomprehensible by trying to force large amounts of information into a small space, relying solely on two dimensions for the representations.... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • The relationship of slicing and debugging to program understanding

    Publication Year: 1999, Page(s):106 - 113
    Cited by:  Papers (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (88 KB)

    The paper describes a study that explores the relationship between program slicing and code understanding gained while debugging. The study consisted of an experiment that compared the program understanding abilities of two classes of debuggers: those who slice while debugging and those who do not. For debugging purposes, a slice can be thought of as a minimal subprogram of the original code that ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Understanding COBOL systems using inferred types

    Publication Year: 1999, Page(s):74 - 81
    Cited by:  Papers (8)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (120 KB)

    In a typical COBOL program, the data division consists of 50% of the lines of code. Automatic type inference can help to understand the large collections of variable declarations contained therein, showing how variables are related based on their actual usage. The most problematic aspect of type inference is pollution, the phenomenon that types become too large, and contain variables that intuitiv... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Extending software quality assessment techniques to Java systems

    Publication Year: 1999, Page(s):49 - 56
    Cited by:  Papers (14)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (88 KB)

    The paper presents extensions to Bell Canada source code quality assessment suite (DATRIX tm) for handling Java language systems. Such extensions are based on source code object metrics, including Java interface metrics, which are presented and explained in detail. The assessment suite helps to evaluate the quality of medium-large software systems identifying parts of the system which have unusual... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Black-box understanding of COTS components

    Publication Year: 1999, Page(s):92 - 99
    Cited by:  Papers (4)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (80 KB)

    Developers have to identify properties of COTS components to properly integrate them with a system under development, but COTS components are typically “black boxes” because their source code is not available. We present an approach that can be used in black-box understanding of COTS components. The major objective is to reduce the effort required to reveal component properties by part... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • An application of fuzzy reasoning to support automated program comprehension

    Publication Year: 1999, Page(s):66 - 73
    Cited by:  Papers (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (1384 KB)

    We are developing a knowledge based program understanding/fault localization system called BUGDOCTOR. We describe a system knowledge source called the Plan Processor that retrieves a set of program plans from a plan library using indices called signatures. We propose use of a fuzzy reasoning component to support the Plan Processor with the task of ranking the retrieved plans in order of similarity... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • An architecture for automated software maintenance

    Publication Year: 1999, Page(s):38 - 48
    Cited by:  Papers (8)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (316 KB)

    We developed an assembly line to implement certain specific changes in a stockbroking system written in COBOL with embedded SQL. The changes were proposed by the maintenance team of the system. Using our architecture, it took a few hours to implement the conditional transformations from the code examples we obtained from the maintenance team. Then we could carry out the tasks completely automated.... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • On managing classes for evolving software

    Publication Year: 1999, Page(s):144 - 150
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (72 KB)

    The evolution of object oriented software involves addition, deletion, and replacement of classes. Maintenance of classes requires detect and resolve inconsistency between classes. The Unified Modeling Language (UML) is becoming the de facto standard modeling language. We present a UML based model of class interrelations for evolving object oriented software. The model is based on notions contract... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Restructuring parallel programs by transformation of point-to-point interactions into collective communication

    Publication Year: 1999, Page(s):84 - 91
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (108 KB)

    We present an approach for supporting the reengineering of legacy message passing parallel programs based on point-to-point communication primitives. The objective is to obtain structured portable, and possibly more efficient versions of the same programs through the use of collective communication constructs. The restructuring process relies on a technique capable of detecting typical interaction... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Improving software comprehension through an automated dependency tracer

    Publication Year: 1999, Page(s):58 - 65
    Cited by:  Papers (7)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (96 KB)

    The paper presents ANALYST, a tool that automates impact analysis by exploiting a framework that implements dependency based software representation models. The preliminary experimental results show that it supports the improvement of software representation models to be used in software comprehension. Moreover, the tool allows the maintainer to perform more accurate and correct changes, decreasin... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Evolving object oriented design to improve code traceability

    Publication Year: 1999, Page(s):151 - 160
    Cited by:  Papers (10)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (260 KB)

    Traceability is a key issue to ensure consistency among software artifacts of subsequent phases of the development cycle. However, few works have so far addressed the theme of tracing object oriented design into its implementation and evolving it. The paper presents an approach to checking the compliance of OO design with respect to source code and support its evolution. The process works on desig... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Empirical evaluation of hypertextual information access from program text

    Publication Year: 1999, Page(s):162 - 169
    Cited by:  Papers (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (1412 KB)

    HyperSoft is a hypertext based software maintenance support tool. HyperSoft provides various transient hypertextual access structures (THASs), which are formed automatically on the basis of the situation-dependent information needs of software engineers. THASs highlight the relevant parts of the program and enable nonlinear browsing between them. The system also supports various graphical views wh... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • On the role of static analysis during software maintenance

    Publication Year: 1999, Page(s):170 - 177
    Cited by:  Papers (5)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (112 KB)

    Since Weiser's study (see CACM, vol.25, no.7, p.446-52), static analysis tools, specifically data flow and slicing tools are considered useful for software maintenance. To investigate this further, we conducted an observational study with professional programmers performing a debugging and an enhancement task View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • The evolution of Websites

    Publication Year: 1999, Page(s):178 - 185
    Cited by:  Papers (39)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (1184 KB)

    One major attraction of the World-Wide Web is the ease with which a relatively untrained user can create or modify a Web hypertext document. However, this same flexibility often causes problems of low quality similar to those encountered in software developed by programmers before the advent of software engineering. Evolution of software has been the subject of much recent research. It is now well... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Recovery of jump table case statements from binary code

    Publication Year: 1999, Page(s):192 - 199
    Cited by:  Papers (16)  |  Patents (4)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (96 KB)

    One of the fundamental problems with the analysis of binary (executable) code is that of recognizing, in a machine-independent way, the target addresses of n-conditional branches implemented via a jump table. Without these addresses, the decoding of the machine instructions for a given procedure is incomplete, as well as any analysis on that procedure. We present a technique for recovering jump ta... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • The SPARAMAT approach to automatic comprehension of sparse matrix computations

    Publication Year: 1999, Page(s):200 - 207
    Cited by:  Papers (2)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (128 KB)

    Automatic program comprehension is particularly useful when applied to sparse matrix codes, since it allows one to abstract, e.g. from specific sparse matrix storage formats used in the code. We describe SPARAMAT, a system for speculative automatic program comprehension suitable for sparse matrix codes, and its implementation View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Program simplification as a means of approximating undecidable propositions

    Publication Year: 1999, Page(s):208 - 217
    Cited by:  Papers (8)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (292 KB)

    We describe an approach which mixes testing, slicing, transformation and formal verification to investigate speculative hypotheses concerning a program, formulated during program comprehension activity. Our philosophy is that such hypotheses (which are typically undecidable) can, in some sense, be `answered' by a partly automated system which returns neither `true' nor `false' but a program (the `... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.