By Topic

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
  • 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.
  • 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.
  • The role of concepts in program comprehension

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

    Publication Year: 2002, Page(s):75 - 84
    Cited by:  Papers (10)
    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.
  • 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.
  • Source code files as structured documents

    Publication Year: 2002, Page(s):289 - 292
    Cited by:  Papers (39)  |  Patents (3)
    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.
  • 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.
  • An integrated approach for studying architectural evolution

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

    Publication Year: 2002, Page(s):97 - 106
    Cited by:  Papers (4)
    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.
  • Slicing aspect-oriented software

    Publication Year: 2002, Page(s):251 - 260
    Cited by:  Papers (22)
    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.
  • Enhancing program comprehension with recovered state models

    Publication Year: 2002, Page(s):85 - 93
    Cited by:  Papers (4)  |  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.
  • 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.
  • Fused data-centric visualizations for software evolution environments

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

    During software evolution, several different facets of the system need to be related to one another at multiple levels of abstraction. Current software evolution tools have limited capabilities for effectively visualizing and evolving multiple system facets in an integrated manner. Many tools provide methods for tracking and relating different levels of abstraction within a single facet. However, ... 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.
  • 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.
  • 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.
  • Where's the schema? A taxonomy of patterns for software exchange

    Publication Year: 2002, Page(s):65 - 74
    Cited by:  Papers (6)  |  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.
  • 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.
  • Evolving Ispell: a case study of program understanding for reuse

    Publication Year: 2002, Page(s):197 - 206
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (402 KB) | HTML iconHTML

    Text processing has proven helpful in a number of software engineering tasks. We discuss how a morphological analyser for the Italian language, and its associated linguistic resources, have been developed by reusing and evolving an existing system, Ispell, which is an open-source spell-checker. The need to develop such an analyser derives from the need to improve the traceability link recovery pro... View full abstract»

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