Proceedings 10th International Workshop on Program Comprehension

27-29 June 2002

Filter Results

Displaying Results 1 - 25 of 32
  • 10th International Workshop on Program Comprehension

    Publication Year: 2002, Page(s):iii - vii
    Request permission for commercial reuse | PDF file iconPDF (308 KB)
    Freely Available from IEEE
  • Author index

    Publication Year: 2002, Page(s): 293
    Request permission for commercial reuse | PDF file iconPDF (216 KB)
    Freely Available from IEEE
  • Mining system-user interaction traces for use case models

    Publication Year: 2002, Page(s):21 - 29
    Cited by:  Papers (11)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (306 KB) | HTML iconHTML

    While code understanding is the primary program comprehension activity, it is quite challenging to recognize the application requirements from code, since they have usually been occluded by a set of layers of later implementation decisions. An alternative source of evidence, especially valuable for understanding the purposes for which the application was built, can be the dynamic behavior of the s... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Relocating XML elements from preprocessed to unprocessed code

    Publication Year: 2002, Page(s):229 - 238
    Cited by:  Papers (10)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (318 KB) | HTML iconHTML

    Transformations performed on source code by a preprocessor complicate the accurate reporting of information extracted to support program comprehension. Differences between the file input to the preprocessor and the output seen by parser-based analyzers creates a need for techniques to back-locate extracted information. To correctly map analysis results back to the preprocessor input files requires... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Comprehension of object-oriented software cohesion: the empirical quagmire

    Publication Year: 2002, Page(s):33 - 42
    Cited by:  Papers (3)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (386 KB) | HTML iconHTML

    Chidamber and Kemerer (1991) proposed an object-oriented (OO) metric suite which included the Lack of Cohesion Of Methods (LCOM) metric. Despite considerable effort both theoretically and empirically since then, the software engineering community is still no nearer finding a generally accepted definition or measure of OO cohesion. Yet, achieving highly cohesive software is a cornerstone of softwar... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Constructivism and program comprehension strategies

    Publication Year: 2002, Page(s):281 - 284
    Cited by:  Papers (3)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (226 KB) | HTML iconHTML

    Program comprehension strategies and learning theories are difficult topics in themselves, and the combination of both can provide some interesting observations. Constructivism differs from the traditional learning theories which suggest knowledge exists as something independent of the individual in several ways. One major premise of constructivism is that we actively construct our knowledge rathe... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Dependence-cache slicing: a program slicing method using lightweight dynamic information

    Publication Year: 2002, Page(s):169 - 177
    Cited by:  Papers (10)  |  Patents (4)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (270 KB) | HTML iconHTML

    When we try to debug or to comprehend a large program, it is important to separate suspicious program portions from the overall source program. Program slicing is a promising technique used to extract a program portion; however, such slicing sometimes raises difficulties. Static slicing sometimes produces a large portion of a source program, especially for programs with array and pointer variables... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Experience with FADE for the visualization and abstraction of software views

    Publication Year: 2002, Page(s):11 - 20
    Cited by:  Papers (3)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (1443 KB) | HTML iconHTML

    This paper describes the FADE paradigm for visualization and a series of experiments for the fast layout, abstract representation, and measurement of software views. In program comprehension, graph models are typically used to represent relational information, where the visualization of such graphs is referred to as graph drawing. Here we present the results of an investigation into efficient tech... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Lightweight impact analysis using island grammars

    Publication Year: 2002, Page(s):219 - 228
    Cited by:  Papers (25)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (296 KB) | HTML iconHTML

    Impact analysis is needed for the planning and estimation of software maintenance projects. Traditional impact analysis techniques tend to be too expensive for this phase, so there is need for more lightweight approaches. We present a technique for the generation of lightweight impact analyzers from island grammars. We demonstrate this technique using a real-world case study in which we describe h... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Slicing aspect-oriented software

    Publication Year: 2002, Page(s):251 - 260
    Cited by:  Papers (24)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (364 KB) | HTML iconHTML

    Program slicing has many applications in software engineering activities including program comprehension, debugging, testing, maintenance, and model checking. In this paper, we propose an approach to slicing aspect-oriented software. To solve this problem, we present a dependence-based representation called aspect-oriented system dependence graph (ASDG), which extends previous dependence graphs, t... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • The role of concepts in program comprehension

    Publication Year: 2002, Page(s):271 - 278
    Cited by:  Papers (74)  |  Patents (2)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (268 KB) | HTML iconHTML

    The paper presents an overview of the role of concepts in program comprehension. It discusses concept location, in which the implementation of a specific concept is located in the code. This process is very common and precedes a large proportion of code changes. The paper also discusses the process of learning about the domain from the code, which is a prerequisite of code reengineering. The paper... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Compression techniques to simplify the analysis of large execution traces

    Publication Year: 2002, Page(s):159 - 168
    Cited by:  Papers (20)  |  Patents (4)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (314 KB) | HTML iconHTML

    Dynamic analysis consists of analyzing the behavior of a software system to extract its properties. There have been many studies that use dynamic information to extract high-level views of a software system or simply to help software engineers to perform their daily maintenance activities more effectively. One of the biggest challenges that such tools face is to deal with very large execution trac... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Building program understanding tools using visitor combinators

    Publication Year: 2002, Page(s):137 - 146
    Cited by:  Papers (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (311 KB) | HTML iconHTML

    Program understanding tools manipulate program representations, such as abstract syntax trees, control-flow graphs or data-flow graphs. This paper deals with the use of visitor combinators to conduct such manipulations. Visitor combinators are an extension of the well-known visitor design pattern. They are small, reusable classes that carry out specific visiting steps. They can be composed in diff... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • An open visualization toolkit for reverse architecting

    Publication Year: 2002, Page(s):3 - 10
    Cited by:  Papers (7)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (888 KB) | HTML iconHTML

    Maintenance and evolution of complex software systems (such as large telecom embedded devices) involve activities such as reverse engineering (RE) and software visualization. Although several RE tools exist, we found their architecture hard to adapt to the domain specific requirements posed by our current practice in Nokia. We present an open architecture which allows easy prototyping of RE data e... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Evaluating using animation to improve understanding of sequence diagrams

    Publication Year: 2002, Page(s):107 - 113
    Cited by:  Papers (2)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (260 KB) | HTML iconHTML

    This paper describes an experiment whereby the benefit of using animation to improve the comprehensibility of UML sequence diagrams is assessed. The paper hypothesizes that through animation the control flow of sequence diagram will become more evident. The development a system that seeks to enable stakeholders to better interpret UML modeling behaviour is described. This system aims to provide dy... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Pattern-supported architecture recovery

    Publication Year: 2002, Page(s):53 - 61
    Cited by:  Papers (17)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (378 KB) | HTML iconHTML

    Architectural patterns and styles represent important design decisions and thus are valuable abstractions for architecture recovery. Recognizing them is a challenge because styles and patterns basically span several architectural elements and can be implemented in various ways depending on the problem domain and the implementation variants. Our approach uses source code structures as patterns and ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Traceability recovery in RAD software systems

    Publication Year: 2002, Page(s):207 - 216
    Cited by:  Papers (13)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (325 KB) | HTML iconHTML

    Proposes an approach and a process to recover traceability links between source code and free text documents in a software system developed with extensive use of COTS, middleware, and automatically generated code. The approach relies on a process to filter information gathered from low level artifacts. Information filtering was performed according to a taxonomy of factors affecting traceability li... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Using graph patterns to extract scenarios

    Publication Year: 2002, Page(s):239 - 247
    Cited by:  Papers (4)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (398 KB) | HTML iconHTML

    Scenario diagrams are useful for helping software developers to understand the interactions among the components of a software system. We present a semi-automatic approach to extracting scenarios from the implementation of a software system. In our approach, the source code of a software system is represented as a graph and scenarios are specified as graph patterns. A relational calculator, Grok, ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Aspects of internal program documentation-an elucidative perspective

    Publication Year: 2002, Page(s):43 - 52
    Cited by:  Papers (2)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (724 KB) | HTML iconHTML

    It is difficult and challenging to comprehend the internal aspects of a program. The internal aspects are seen as contrasts to end user aspects and interface aspects. Internal program documentation is relevant for almost any kind of software. The internal program documentation represents the original as well as the accumulated understanding of the program, which is very difficult to extract from t... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • On selecting software visualization tools for program understanding in an industrial context

    Publication Year: 2002, Page(s):285 - 288
    Cited by:  Papers (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (308 KB) | HTML iconHTML

    Discusses issues related to selecting software visualization tools for program understanding in an industrial context. Visualization tools are often advocated as an effective means of aiding program understanding by creating graphical representations of the subject system through reverse engineering. However, there are numerous practical considerations related to tool selection for large, real-wor... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Architecture recovery of dynamically linked applications: a case study

    Publication Year: 2002, Page(s):178 - 184
    Cited by:  Papers (3)  |  Patents (2)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (631 KB) | HTML iconHTML

    Most previously published case studies in architecture recovery have been performed on statically linked software systems. Due to the increase in use of middleware technologies, such as CORBA, and object-oriented programming concepts, such as polymorphism, there is an opportunity and a need to analyze architectures of these dynamically linked systems. This paper presents the results of software ar... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • On using a benchmark to evaluate C++ extractors

    Publication Year: 2002, Page(s):114 - 123
    Cited by:  Papers (16)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (301 KB) | HTML iconHTML

    In this paper, we take the concept of benchmarking, as used extensively in computing, and apply it to the evaluation of C++ fact extractors. We demonstrate the efficacy of this approach by developing a prototype benchmark, CppETS 1.0 (C++ Extractor Test Suite, pronounced 'see-pets') and collecting feedback in a workshop setting. The CppETS benchmark characterises C++ extractors along two dimension... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Where's the schema? A taxonomy of patterns for software exchange

    Publication Year: 2002, Page(s):65 - 74
    Cited by:  Papers (7)  |  Patents (3)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (300 KB) | HTML iconHTML

    Program comprehension tools extract, organize and analyze information about the design and implementation of software systems. Before software tools can exchange information, they must share, at some level, the organization for the data exchanged, i.e. they must share a schema. In this paper we examine the various ways in which schemas are represented and used in tools. Schema use is classified ac... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Comprehending Web applications by a clustering based approach

    Publication Year: 2002, Page(s):261 - 270
    Cited by:  Papers (31)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (462 KB) | HTML iconHTML

    The number and complexity of Web applications are increasing dramatically to satisfy market needs, and the need of effective approaches for comprehending them is growing accordingly. Recently, reverse engineering methods and tools have been proposed to support the comprehension of a Web application; the information recovered by these tools is usually rendered in graphical representations. However,... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Program comprehension experiences with GXL; comprehension for comprehension

    Publication Year: 2002, Page(s):147 - 156
    Cited by:  Papers (2)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (442 KB) | HTML iconHTML

    Tools are vital to support the various activities that form the many tasks that are part of the program comprehension process. In order for these tools to be used and useful, it is necessary that they support the activities of the user. This support must complement the work methods and activities of the user and not hinder them. Whilst features of good tools have been identified, tool builders do ... View full abstract»

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