By Topic

13th International Workshop on Program Comprehension (IWPC'05)

Date 15-16 May 2005

Filter Results

Displaying Results 1 - 25 of 48
  • Proceedings. 13th International Workshop on Program Comprehension

    Publication Year: 2005
    Request permission for commercial reuse | PDF file iconPDF (66 KB)
    Freely Available from IEEE
  • [Title page]

    Publication Year: 2005, Page(s):i - iv
    Request permission for commercial reuse | PDF file iconPDF (111 KB)
    Freely Available from IEEE
  • Table of contents

    Publication Year: 2005, Page(s):v - viii
    Request permission for commercial reuse | PDF file iconPDF (79 KB)
    Freely Available from IEEE
  • Message from the Chairs

    Publication Year: 2005, Page(s): ix
    Request permission for commercial reuse | PDF file iconPDF (66 KB) | HTML iconHTML
    Freely Available from IEEE
  • Conference Committees

    Publication Year: 2005, Page(s):x - xi
    Request permission for commercial reuse | PDF file iconPDF (72 KB)
    Freely Available from IEEE
  • Comprehension by derivation [software system comprehension]

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

    We argue that to comprehend a software system is to have a handle on its requirements, specifications, and design decisions. These kinds of information support the reuse of system code for a variety of purposes and support its ongoing extension, migration, and evolution. Our work at Kestrel Institute has focused on ways to mechanize the development and evolution of software from formal specificati... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A qualitative comparison of three aspect mining techniques

    Publication Year: 2005, Page(s):13 - 22
    Cited by:  Papers (25)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (144 KB) | HTML iconHTML

    The fact that crosscutting concerns (aspects) cannot be well modularized in object oriented software is an impediment to program comprehension: the implementation of a concern is typically scattered over many locations and tangled with the implementation of other concerns, resulting in a system that is hard to explore and understand. Aspect mining aims to identify crosscutting concerns in a system... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Understanding concerns in software: insights gained from two case studies

    Publication Year: 2005, Page(s):23 - 32
    Cited by:  Papers (9)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (280 KB) | HTML iconHTML

    Much of the complexity of software arises from the interactions between disparate concerns. Even in well-designed software, some concerns can not always be encapsulated in a module. Research on separation of concerns seeks to address this problem, but we lack an understanding of how programmers conceptualize the notion of a concern and then identify that concern in code. In this work, we have cond... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Static techniques for concept location in object-oriented code

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

    Concept location in source code is the process that identifies where a software system implements a specific concept. While it is well accepted that concept location is essential for the maintenance of complex procedural code like code written in C, it is much less obvious whether it is also needed for the maintenance of the object-oriented code. After all, the object-oriented code is structured i... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Presenting micro-theories of program comprehension in pattern form

    Publication Year: 2005, Page(s):45 - 54
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (272 KB) | HTML iconHTML

    We present the notion of cognitive patterns, and provide several examples. A cognitive pattern is the written record of a solution to a recurring cognitive problem typically employed by experienced practitioners. We focus on those relevant to program comprehension, which we have developed through studying the literature and conducting field studies. Collectively the set of patterns constitute a ri... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • An investigation into professional programmers' mental representations of variables

    Publication Year: 2005, Page(s):55 - 64
    Cited by:  Papers (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (136 KB) | HTML iconHTML

    Very little is known about professional programmers' mental representations of variables, yet this information is vital in designing effective tools for program comprehension. In order to find out what types of information programmers have about variables and their relations, we conducted a knowledge elicitation study where professional programmers studied programs and the resulting mental represe... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • An investigation of Java abstraction usage for program modifications

    Publication Year: 2005, Page(s):65 - 74
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (144 KB) | HTML iconHTML

    This paper reports upon the results of an investigation concerning the use and type of Java abstractions employed during software maintenance. The source of data consists of eighty-eight program summaries extracted from online developer mailing lists. Specifically, the summaries describing modifications, thirty-six in total, were examined from the perspective of five task types, including adaptive... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Identifying and addressing problems in framework reuse

    Publication Year: 2005, Page(s):77 - 86
    Cited by:  Papers (5)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (184 KB) | HTML iconHTML

    Object-oriented frameworks are a powerful form of reuse but they can be difficult to understand and reuse correctly. Over the last decade a large range of candidate documentation techniques have been proposed to address this difficulty. There is little research, however, to identify the specific problems that arise during framework reuse and to evaluate documentation techniques in terms of these p... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • What can programmer questions tell us about frameworks?

    Publication Year: 2005, Page(s):87 - 96
    Cited by:  Papers (4)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (168 KB) | HTML iconHTML

    In order to make frameworks easier to use we need to better understand the difficulties that programmers have with them. The questions that programmers ask give clues to the quality of design, documentation, and programmer practice. We describe the method and results of a study on the Java Swing framework. We collected and analyzed a sample of 300 newsgroup questions asked about two Swing componen... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Concise and consistent naming [software system identifier naming]

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

    Approximately 70% of the source code of a software system consists of identifiers. Hence, the names chosen as identifiers are of paramount importance for the readability of computer programs and therewith their comprehensibility. However, virtually every programming language allows programmers to use almost arbitrary sequences of characters as identifiers which far too often results in more or les... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Textual views of source code to support comprehension

    Publication Year: 2005, Page(s):109 - 112
    Cited by:  Papers (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (120 KB) | HTML iconHTML

    Source code can be viewed in many ways, with each view facilitating access to different information contained within the code. We explore the role that marked-up textual views can provide in support of software comprehension and maintenance. Text has the advantages of being easily communicated, effectively manipulated with existing tools, and highly scalable. Furthermore, marked-up text models may... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • On the comprehension of security risk scenarios

    Publication Year: 2005, Page(s):115 - 124
    Cited by:  Papers (3)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (408 KB) | HTML iconHTML

    Methods for security risk analysis are often based on structured brainstorming (e.g. what [F. Redmill et al., (1999)] calls HazOp). A structured brainstorming gathers a group of different system experts and the idea is that they will find more risks as a team than one-by-one. The CORAS modelling language [M. S. Lund et al., (2003)] has been designed to support the brainstorming process and to docu... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Modelling the information-seeking behaviour of programmers - an empirical approach

    Publication Year: 2005, Page(s):125 - 134
    Cited by:  Papers (3)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (184 KB) | HTML iconHTML

    Information seeking has been recognised as a core subtask in software maintenance. This paper reviews, merges, and adapts existing information seeking models for different domains to propose a nonlinear information-seeking model for programmers involved in software maintenance. Talk-aloud data from two empirical studies of industrial programmers carrying out real software maintenance tasks is pres... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A COTS component comprehension process

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

    A process is proposed to support comprehension of COTS components. In this process, software developers build a COTS comprehension model to support component selection. We integrate the process with a UML component based software development approach. We illustrate our approach using a hotel reservation system. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • The CodeSurfer software understanding platform

    Publication Year: 2005, Page(s):147 - 148
    Cited by:  Papers (4)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (66 KB) | HTML iconHTML

    CodeSurfer is a tool that provides a wide range of program understanding capabilities by exposing the results of a static-semantic analysis to the user in novel and interesting ways. The tool performs a number of whole-program analyses, including pointer analysis, and creates a system dependence graph for the program. The user can browse these dependences through the GUI in a manner akin to surfin... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • JRipples: a tool for program comprehension during incremental change

    Publication Year: 2005, Page(s):149 - 152
    Cited by:  Papers (34)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (152 KB) | HTML iconHTML

    Incremental software change adds new functionality to software. It is the foundation of software evolution, maintenance, iterative development, agile development, and other software processes. Highly interactive tool JRipples provides the programmer with the organizational support that makes the incremental change process easier and more systematic. JRipples supports impact analysis and change pro... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Visualizing the behavior of dynamically modifiable code

    Publication Year: 2005, Page(s):337 - 340
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (280 KB) | HTML iconHTML

    Recent years have seen an increased recognition of some of the advantages offered by dynamically modifiable code, i.e., code that changes during the execution of the program. In its full generality, it can be very difficult to understand the behavior of such self-modifiable code. This paper describes a system that graphically displays the execution behavior of dynamic code, focusing on code modifi... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • HyperSoft system: tool demonstration and use example

    Publication Year: 2005, Page(s):153 - 156
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (336 KB) | HTML iconHTML

    HyperSoft is an approach for satisfying the information needs of software maintainers. HyperSoft combines the notions of automated program analysis and hypertext techniques. HyperSoft system is the implementation of the approach. It is targeted at supporting the comprehension of large programs and has been developed in cooperation with software industry. HyperSoft produces automatically transient ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • SEAT: a usable trace analysis tool

    Publication Year: 2005, Page(s):157 - 160
    Cited by:  Papers (4)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (235 KB) | HTML iconHTML

    Understanding the dynamics of a program can be made easier if dynamic analysis techniques are used. However, the extraordinary size of typical execution traces makes exploring the content of traces a tedious task. In this paper, we present a tool called SEAT (software exploration and analysis tool) that implements several operations that can help software engineers understand the content of a larg... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • REGoLive: Web site comprehension with viewpoints

    Publication Year: 2005, Page(s):161 - 164
    Cited by:  Papers (2)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (544 KB) | HTML iconHTML

    This paper describes a demonstration of the REGoLive reverse engineering tool. REGoLive supports comprehension of Web sites with three distinct viewpoints: developer-view, server-view, and client-view. Each viewpoint provides unique information about a Web site, which is not contained in other viewpoints. REGoLive is built on top of the Go-Live Web authoring tool, which allows us to expose the dev... View full abstract»

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