By Topic

Program Comprehension, 2002. Proceedings. 10th International Workshop on

Date 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
  • Relocating XML elements from preprocessed to unprocessed code

    Publication Year: 2002, Page(s):229 - 238
    Cited by:  Papers (8)
    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.
  • Theory-based analysis of cognitive support in software comprehension tools

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

    Past research on software comprehension tools has produced a wealth of lessons in building good tools. However, our explanations of these tools tend to be weakly grounded in existing theories of cognition and human-computer interaction. As a result, the interesting rationales underlying their design are poorly articulated, leaving the lessons primarily implicit. This paper describes a way of using... 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.
  • Enhancing program comprehension with recovered state models

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

    State transition machines are high-level behavior descriptions often used as modeling tools for the design and implementation of a large class of software systems. Some of the state transition machine implementation approaches are such that the static structure of the resulting code closely matches that of the original state transition machines. Therefore, having a representation of the original s... 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.
  • 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.
  • Lightweight impact analysis using island grammars

    Publication Year: 2002, Page(s):219 - 228
    Cited by:  Papers (23)
    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.
  • An integrated approach for studying architectural evolution

    Publication Year: 2002, Page(s):127 - 136
    Cited by:  Papers (19)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (472 KB) | HTML iconHTML

    Studying how a software system has evolved over time is difficult, time consuming, and costly; existing techniques are often limited in their applicability, are hard to extend, and provide little support for coping with architectural change. The paper introduces an approach to studying software evolution that integrates the use of metrics, software visualization, and origin analysis, which is a se... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Source code files as structured documents

    Publication Year: 2002, Page(s):289 - 292
    Cited by:  Papers (32)  |  Patents (2)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (235 KB) | HTML iconHTML

    A means to add explicit structure to program source code is presented. XML is used to augment source code with syntactic information from the parse tree. More importantly, comments and formatting are preserved and identified for future use by development environments and program comprehension tools. The focus is to construct a document representation in XML instead of a more traditional data repre... 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 (15)
    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.
  • Comprehension of object-oriented software cohesion: the empirical quagmire

    Publication Year: 2002, Page(s):33 - 42
    Cited by:  Papers (2)
    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.
  • On using a benchmark to evaluate C++ extractors

    Publication Year: 2002, Page(s):114 - 123
    Cited by:  Papers (15)
    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.
  • 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.
  • Compression techniques to simplify the analysis of large execution traces

    Publication Year: 2002, Page(s):159 - 168
    Cited by:  Papers (17)  |  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.
  • Comprehending Web applications by a clustering based approach

    Publication Year: 2002, Page(s):261 - 270
    Cited by:  Papers (28)
    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.
  • Aspects of internal program documentation-an elucidative perspective

    Publication Year: 2002, Page(s):43 - 52
    Cited by:  Papers (1)
    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.
  • Dependence-cache slicing: a program slicing method using lightweight dynamic information

    Publication Year: 2002, Page(s):169 - 177
    Cited by:  Papers (8)  |  Patents (3)
    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.
  • Pattern-supported architecture recovery

    Publication Year: 2002, Page(s):53 - 61
    Cited by:  Papers (11)
    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.
  • Building program understanding tools using visitor combinators

    Publication Year: 2002, Page(s):137 - 146
    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.
  • The role of concepts in program comprehension

    Publication Year: 2002, Page(s):271 - 278
    Cited by:  Papers (51)  |  Patents (1)
    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.
  • 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.
  • An empirical study of the effect of semantic differences on programmer comprehension

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

    Software engineers face a wide range of difficult tasks. Understanding semantic relationships, such as the semantic differences between two programs, should aid a software engineer address many of these tasks. A series of experiments was conducted with an implementation of a semantic differencing algorithm for the C language. Sixty-three subjects participated in two controlled experiments. There i... 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 (2)
    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.