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
  • 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.
  • 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.
  • Effects of pointers on data dependences

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

    This paper presents a technique for computing and classifying data dependences that takes into account the complexities introduced by specific language constructs, such as pointers, arrays and structures. The classification is finer-grained than previously proposed classifications. Moreover unlike previous work, the paper presents empirical results that illustrate the distribution of data dependen... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Understanding and improving the maintenance process: a method and two case studies

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

    The skill shortage and the increasing dynamism of the global market with the consequent needs for achieving market differentiation, focussing on core competences and reacting faster on changes in the environment, are forcing software enterprises to move towards a virtual organization. Workflow and computer supported cooperative work technologies are a primary enabler for virtual organizations, as ... 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.
  • Visualizing object-oriented software in virtual reality

    Publication Year: 2001, Page(s):26 - 35
    Cited by:  Papers (19)
    Request permission for commercial reuse | Click to expandAbstract |PDF file iconPDF (972 KB) | HTML iconHTML

    The paper describes a system, Imsovision, for visualizing object-oriented software in a virtual reality Environment. A visualization language (COOL) is defined that maps C++ source code to a visual representation. Our aim is to develop a language with few metaphors and constructs, but with the ability to represent a variety of elements with no ambiguity or loss of meaning. In addition, the visuali... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Processing software source text in automated design recovery and transformation

    Publication Year: 2001, Page(s):127 - 134
    Cited by:  Papers (15)  |  Patents (2)
    Request permission for commercial reuse | Click to expandAbstract |PDF file iconPDF (520 KB) | HTML iconHTML

    Software source text is the raw material of program understanding and transformation systems. In order to share the results of source analyses, both between phases of a design recovery process, and between tools and systems in different processes, a source text interchange format is needed. The paper describes a simple technique, `source factoring', by which a common structural decomposition of so... 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.
  • 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.
  • 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.
  • An architectural connectivity metric and its support for incremental re-architecting of large legacy systems

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

    Architectural connectivity metrics are a means of supporting incremental re-architecting of large legacy systems. These metrics provide support by giving an indication of the degree of connectivity between or within architectural entities in the system. Ideally, a connectivity metric should provide useful information in as many situations as possible. However, the existing metrics of cohesion and ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Hidden dependencies in program comprehension and change propagation

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

    Large software systems are difficult to understand and maintain. Program dependency analysis plays a key role in both understanding and maintenance. This paper discusses hidden dependencies among software components that make both understanding and maintenance hard. A hidden dependency is a relationship between two seemingly independent components, and it is caused by the data flow in a third soft... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Side-effect removal transformation

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

    A side-effect is any change in program state that occurs as a by-product of the evaluation of an expression. Side-effects are often thought to impede program comprehension and to lead to complex, poorly understood and occasionally undefined semantics. Side-effect removal transformation (SERT) improves comprehension by rewriting a program p, which may contain side-effects, into a semantically equiv... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Mediating diverse visualisations for comprehension

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

    For ease of use, comprehension, and general acceptability it is important that tools that purport to aid comprehension are able to provide a variety of customisable views. The most important underlying factor is the wide differences between users in terms of their culture, experience, visual together, working preferences, and general abilities. Comprehension studies have also shown that different ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Structure-behavior-function program understanding

    Publication Year: 2001, Page(s): 120
    Request permission for commercial reuse | Click to expandAbstract |PDF file iconPDF (88 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.
  • Understanding distributed systems via execution trace data

    Publication Year: 2001, Page(s):60 - 67
    Cited by:  Papers (4)
    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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • A method to re-organize legacy systems via concept analysis

    Publication Year: 2001, Page(s):281 - 290
    Cited by:  Papers (11)
    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.