Proceedings 9th International Workshop on Program Comprehension. IWPC 2001

12-13 May 2001

Filter Results

Displaying Results 1 - 25 of 36
  • Proceedings 9th International Workshop on Program Comprehension. IWPC 2001

    Publication Year: 2001
    Request permission for commercial reuse | PDF file iconPDF (196 KB)
    Freely Available from IEEE
  • Author index

    Publication Year: 2001, Page(s): 325
    Request permission for commercial reuse | PDF file iconPDF (52 KB)
    Freely Available from IEEE
  • SHriMP views: an interactive environment for exploring Java programs

    Publication Year: 2001, Page(s):111 - 112
    Cited by:  Papers (24)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (228 KB) | HTML iconHTML

    The paper describes a demonstration of the SHriMP visualization tool. SHriMP provides a flexible and customizable environment for exploring software programs. It supports the embedding of multiple views, both graphical and textual within a nested graph display of a program's software architecture. SHriMP has recently been redesigned and reimplemented using Java Bean components. These APIs allow SH... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Inference-based and expectation-based processing in program comprehension

    Publication Year: 2001, Page(s):71 - 78
    Cited by:  Papers (8)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (512 KB) | HTML iconHTML

    This paper formally distinguishes between two variants of top-down comprehension (as originally described by Brooks (1983) and Soloway (1984)). The first is inference-based comprehension, where the programmer derives meaning from cliched implementations in the code. The second is expectation-based comprehension, where the programmer has pre-generated expectations of the code's meaning. The paper d... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Simplicity: a key engineering concept for program understanding

    Publication Year: 2001, Page(s):98 - 107
    Cited by:  Papers (1)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (776 KB) | HTML iconHTML

    One of the most significant problems for existing program comprehension methods is its scalability. We introduce a new technique to make the scalability possible. In particular, we advocate the concept of “simplicity” for program understanding. We first propose a simplified semantic network as domain knowledge representation; we then introduce a linear and domain-oriented program parti... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A suite of tools for facilitating reverse engineering using formal methods

    Publication Year: 2001, Page(s):221 - 232
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (1296 KB) | HTML iconHTML

    As a program evolves, it becomes increasingly difficult to understand and reason about changes in source code. Eventually if enough changes are made without a corresponding modification of the software documentation, reverse engineering and design recovery techniques must be used in order to understand the current behavior of a system. In our previous investigations, we described a formal techniqu... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • HSML: design directed source code hot spots

    Publication Year: 2001, Page(s):145 - 154
    Cited by:  Papers (15)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (656 KB) | HTML iconHTML

    HSML, the Hot Spot Markup Language, is an ultra-high level executable specification language designed for concisely specifying source code hot spots of all kinds. Each HSML rule specifies the abstract syntactic class of the items to be marked as hot using a nonterminal of the target language grammar, and the semantic conditions under which such items are to be marked using an algebraic expression ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Understanding distributed systems via execution trace data

    Publication Year: 2001, Page(s):60 - 67
    Cited by:  Papers (3)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (808 KB) | HTML iconHTML

    One of the most challenging problems facing today's software engineer is to understand and modify distributed systems. One reason is that in actual use systems frequently behave differently than the designer intended. We describe a three-step method to allow a developer to understand the run-time behavior of a distributed system. First, remote procedure calls are traced using CORBA interceptors. N... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Backward conditioning: a new program specialisation technique and its application to program comprehension

    Publication Year: 2001, Page(s):89 - 97
    Cited by:  Papers (9)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (600 KB) | HTML iconHTML

    This paper introduces backward conditioning. Like forward conditioning (used in conditioned slicing), backward conditioning consists of specialising a program with respect to a condition inserted into the program. However, whereas forward conditioning deletes statements which are not executed when the initial state satisfies the condition, backward conditioning deletes statements which cannot caus... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Adoption of reverse engineering tools: a cognitive perspective and methodology

    Publication Year: 2001, Page(s):245 - 255
    Cited by:  Papers (4)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (680 KB) | HTML iconHTML

    Reverse engineering tools aimed at facilitating software maintenance suffer from low adoption. Many are developed but few are used by software engineers in performing their maintenance work. We introduce an approach for tool design that is aimed at increasing the adoptability potential of tools. Our approach is based on applying cognitive analysis to identify cognitive overloads during software ma... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Extracting business logic from existing COBOL programs as a basis for redevelopment

    Publication Year: 2001, Page(s):167 - 175
    Cited by:  Papers (9)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (484 KB) | HTML iconHTML

    The article describes an industrial pilot study carried out to regain the business knowledge embedded in a legacy COBOL application. The goal of the project was to weed out the information required to reimplement the ancient host programs in a new client/server environment. The solution followed a four-step process. First, the programs were restructured, secondly the programs were sliced into busi... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Spreading knowledge about Gnutella: a case study in understanding net-centric applications

    Publication Year: 2001, Page(s):189 - 198
    Cited by:  Papers (3)  |  Patents (8)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (860 KB) | HTML iconHTML

    The paper describes our experiences in attempting to understand the functional nature, high-level design, and implementation details of Gnut, a program that implements the Gnutella peer-to-peer Internet file system protocol. Gnutella is representative of a new breed of net-centric applications that is both qualitatively and quantitatively different than the typical legacy systems that are usually ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Comparing graph-based program comprehension tools to relational database-based tools

    Publication Year: 2001, Page(s):209 - 218
    Cited by:  Papers (5)  |  Patents (9)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (872 KB) | HTML iconHTML

    In this paper we compare the experiences of applying the graph-based GUPRO approach to experiences in applying ANAUSoftSpec-an approach based on relational databases. We present the results of a case study in which GUPRO has been applied to a multi-language software system for stock trading (GEOS). Comparing the results of the case study, with experiences of applying ANAL/SoftSpec to GEOS we show ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Feature-driven program understanding using concept analysis of execution traces

    Publication Year: 2001, Page(s):300 - 309
    Cited by:  Papers (13)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (920 KB) | HTML iconHTML

    The first task of a programmer who wants to understand how a certain feature is implemented is to localize the implementation of the feature in the code. If the implementations of a set of related features are to be understood, a programmer is interested in their commonalities and variabilities. For large and badly documented programs, localizing features in code and identifying the commonalities ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Report from the Dagstuhl seminar on interoperability of reengineering tools

    Publication Year: 2001, Page(s): 119
    Cited by:  Papers (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (56 KB) | HTML iconHTML

    First Page of the Article
    View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A method to re-organize legacy systems via concept analysis

    Publication Year: 2001, Page(s):281 - 290
    Cited by:  Papers (10)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (720 KB) | HTML iconHTML

    Proposes a method to restructure the organization of architectural source code files. The method exploits concept analysis and is based on the extraction of compiling, linking and inclusion dependencies. The method was applied to public-domain and freely-available software systems developed with the C programming language. The results presented and discussed in this paper are encouraging: the meth... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A flexible method for segmentation in concept assignment

    Publication Year: 2001, Page(s):135 - 144
    Cited by:  Papers (10)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (788 KB) | HTML iconHTML

    Software comprehension is one of the most expensive activities in software maintenance and many tools have been developed to help the maintainer reduce the time and cost of the task. Of the numerous tools and methods available, one group has received relatively little attention: those using plausible reasoning to address the concept assignment problem. This problem is defined as the process of ass... View full abstract»

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

    Publication Year: 2001, Page(s):50 - 59
    Cited by:  Papers (12)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (788 KB) | HTML iconHTML

    Program slicing is useful for addressing many software engineering problems as it allows focusing attention on just the relevant part of the program. However, this part could still be huge and difficult to comprehend and thus diminish usefulness of program slicing. This is a serious problem in working with legacy codes for scientific computing. To address this problem, the Program Slice Browser (P... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Automated analysis of scientific and engineering semantics

    Publication Year: 2001, Page(s):113 - 114
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (308 KB) | HTML iconHTML

    Physical and mathematical formulae and concepts are fundamental elements of scientific and engineering software. These classical equations and methods are time tested, universally accepted, and relatively unambiguous. The existence of this classical ontology suggests an ideal problem for program comprehension: automated scientific code semantic analysis. This problem is motivated by the pervasive ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Navigation and comprehension of programs by novice programmers

    Publication Year: 2001, Page(s):79 - 88
    Cited by:  Papers (9)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (844 KB) | HTML iconHTML

    The purpose of this research is to examine the influence of different methods of program navigation on the mental representation and comprehension of novice procedural programmers. As a programmer tries to comprehend a program, a particular navigation method may assist or inhibit the process by highlighting, or making more accessible, certain kinds of information. Presumably, a method of navigatio... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Software visualization tools: survey and analysis

    Publication Year: 2001, Page(s):7 - 17
    Cited by:  Papers (33)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (1068 KB) | HTML iconHTML

    Recently, many software visualization (SV) techniques and tools have become available. There is ample anecdotal evidence that appropriate visualization can significantly reduce the effort spent on system comprehension and maintenance, yet we are not aware of any quantitative investigation and survey of SV tools. This paper reports on a survey on SV tools which was conducted in spring 2000 with mor... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • GSEE: a Generic Software Exploration Environment

    Publication Year: 2001, Page(s):233 - 244
    Cited by:  Papers (14)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (1284 KB) | HTML iconHTML

    Large software products are very difficult to understand. One way to cope with this problem is to provide tools generating different software views. Unfortunately, there are so many different entity types and relationships in a large software product that building a specific tool for each view is not cost-effective. This paper presents GSEE (Generic Software Exploration Environment). G... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Reverse engineering meets data analysis

    Publication Year: 2001, Page(s):157 - 166
    Cited by:  Papers (4)  |  Patents (5)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (968 KB) | HTML iconHTML

    We demonstrate how the data management techniques known as On-Line Analytical Processing, or OLAP, can be used to enhance the sophistication and range of software reverse engineering tools. This is the first comprehensive examination of the similarities and differences in these tasks both in how OLAP techniques meet (or fail to meet) the needs of reverse engineering and in how reverse engineering ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A software evaluation model using component association views

    Publication Year: 2001, Page(s):259 - 268
    Cited by:  Papers (4)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (820 KB) | HTML iconHTML

    Introduces a view-based architectural design evaluation model that allows one to quantitatively evaluate and categorize the design of a software system. The model is based on the notion of component association, which is a generalization of coupling and cohesion metrics. The component association is defined as a measure of the overall dependency among high-level system components, such as files, m... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • An algebraic notation for representing threads in object oriented software comprehension

    Publication Year: 2001, Page(s):176 - 185
    Cited by:  Papers (2)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (780 KB) | HTML iconHTML

    In object oriented systems a thread represents a chain of method activations started by an input event and terminating when an output event is generated. Functional requirements can be implemented by a single thread or by a combination of more threads. Thread analysis can be used as a tool for understanding object oriented software behavior and to support maintenance tasks. The paper presents an a... View full abstract»

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