Proceedings. 12th IEEE International Workshop on Program Comprehension, 2004.

26-26 June 2004

Filter Results

Displaying Results 1 - 25 of 43
  • Proceedings 12th International Workshop on Program Comprehension

    Publication Year: 2004, Page(s): 0_1
    Request permission for commercial reuse | PDF file iconPDF (382 KB)
    Freely Available from IEEE
  • IWPC 2004

    Publication Year: 2004, Page(s): 0_2
    Request permission for commercial reuse | PDF file iconPDF (161 KB)
    Freely Available from IEEE
  • [Blank page]

    Publication Year: 2004, Page(s): 0_3
    Request permission for commercial reuse | PDF file iconPDF (153 KB)
    Freely Available from IEEE
  • Proceedings. 12th IEEE International Workshop on Program Comprehension

    Publication Year: 2004
    Request permission for commercial reuse | PDF file iconPDF (189 KB)
    Freely Available from IEEE
  • Copyright page

    Publication Year: 2004, Page(s): 0_5
    Request permission for commercial reuse | PDF file iconPDF (192 KB)
    Freely Available from IEEE
  • Table of contents

    Publication Year: 2004, Page(s):0_6 - 0_8
    Request permission for commercial reuse | PDF file iconPDF (189 KB)
    Freely Available from IEEE
  • Message from the Chairs

    Publication Year: 2004, Page(s): 0_9
    Request permission for commercial reuse | PDF file iconPDF (174 KB) | HTML iconHTML
    Freely Available from IEEE
  • Committees

    Publication Year: 2004, Page(s):0_10 - 0_12
    Request permission for commercial reuse | PDF file iconPDF (184 KB)
    Freely Available from IEEE
  • Additional reviewers

    Publication Year: 2004, Page(s): 0_13
    Request permission for commercial reuse | PDF file iconPDF (163 KB)
    Freely Available from IEEE
  • Program comprehension in generative programming: a history of grand challenges

    Publication Year: 2004, Page(s):2 - 11
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (6028 KB) | HTML iconHTML

    The communities of generative programming (GP) and program comprehension (PC) look at similar problems: GP derives a program from a specification, PC derives a specification from a program. A basic difference between the two is GP's use of specific knowledge representations and mental models that are essential for program synthesis. In this paper, the author presents a historical review of the gra... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • An empirical study on using stereotypes to improve understanding of UML models

    Publication Year: 2004, Page(s):14 - 23
    Cited by:  Papers (22)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (355 KB) | HTML iconHTML

    Stereotypes were introduced into the Unified Modeling Language (UML) to provide means of customizing this visual, general purpose, object-oriented modeling language, for its usage in specific application domains. The primary purpose of stereotypes is to brand an existing model element with a specific semantics. In addition, stereotypes can also be used as notational shorthand. The paper elaborates... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Tool-supported customization of UML class diagrams for learning complex system models

    Publication Year: 2004, Page(s):24 - 33
    Cited by:  Papers (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (469 KB) | HTML iconHTML

    To employ an existing software library, its structure should be first learned and the required elements should be identified. This can be challenging if the library is large and only a specific part of it should be comprehended. In this paper, we study the problem of learning complex software libraries modeled in UML. It is argued that the learning process can be supported with a tool environment ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Understanding class evolution in object-oriented software

    Publication Year: 2004, Page(s):34 - 43
    Cited by:  Papers (17)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (302 KB) | HTML iconHTML

    In the context of object-oriented design, software systems model real-world entities abstractly represented in the system classes. As the system evolves through its lifecycle, its class design also evolves. Thus, understanding class evolution is essential in understanding the current design of the system and the rationale behind its evolution. In this paper, we describe a taxonomy of class-evoluti... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A simple static model for understanding the dynamic behavior of programs

    Publication Year: 2004, Page(s):46 - 51
    Cited by:  Papers (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (606 KB) | HTML iconHTML

    To maintain software and to adapt it to changing requirements, one needs to have a solid understanding of both its structure and behavior. While there are a number of reverse engineering tools that aid in understanding the runtime behavior of programs, these are mostly based on variants of UML sequence diagrams or statechart diagrams. We propose a new model for understanding runtime behavior that ... View full abstract»

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

    Publication Year: 2004, Page(s):52 - 61
    Cited by:  Papers (7)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (488 KB) | HTML iconHTML

    In this paper, we present a framework for reverse engineering allowing the integration and interaction of different analysis and visualization tools. The framework architecture that we propose uses a dynamic type system to guarantee the proper exchange of data between the tools and a set of wrapper classes to handle their communication. This allows for an easy and secure integration of tools that ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Working in pairs as a means for design knowledge building: an empirical study

    Publication Year: 2004, Page(s):62 - 68
    Cited by:  Papers (6)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (283 KB) | HTML iconHTML

    Pair programming is increasingly attracting researchers' and practitioners' attention. One of the claimed benefits of pair programming consists of easing socialization among programmers, with the effect of transferring tacit knowledge. Designing software systems requires a strong employment of tacit knowledge, such as individual experience and skills. In this paper, the authors, explore the hypoth... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Challenges and requirements for an effective trace exploration tool

    Publication Year: 2004, Page(s):70 - 78
    Cited by:  Papers (11)  |  Patents (2)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (435 KB) | HTML iconHTML

    Building efficient tools for the analysis and exploration of large execution traces can be a very challenging task. Our experience with building a tool called SEAT (software exploration and analysis tool) shows that there is a need to address several key research questions in order to overcome these challenges. SEAT is intended to integrate several filtering techniques to tackle the size explosion... View full abstract»

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

    Publication Year: 2004, Page(s):79 - 85
    Cited by:  Papers (4)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (413 KB) | HTML iconHTML

    With the prevalence of legacy C/C++ code, it continually becomes more important to address the issues of readability and maintainability. When considering the problems with refactoring or migrating C/C++ code we see how important a role preprocessor directives play. In part, because of these preprocessor directives it is extremely difficult to maintain our code. We outline a method of fact extract... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Building executable union slices using conditioned slicing

    Publication Year: 2004, Page(s):89 - 97
    Cited by:  Papers (5)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (303 KB) | HTML iconHTML

    Program slicing can be used as a support for program comprehension, because it allows a large program to be divided up into smaller slices, each of which can be understood in isolation from the rest. As such, slicing facilitates the familiar approach of 'divide and conquer'. Union slicing (the union of dynamic slices) is a useful technique for approximating a precise static slice. For program comp... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Architectural views through collapsing strategies

    Publication Year: 2004, Page(s):100 - 110
    Cited by:  Papers (1)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (414 KB) | HTML iconHTML

    Architectural views help to better understand and analyze software from particular stakeholder perspectives. Views are abstractions that are generated in an architecture reconstruction effort with collapsing strategies. Collapsing is the mechanism to aggregate detailed source information into architectural elements that constitute the architectural views. The elements are presented in a particular... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Understanding CASE generated legacy applications: a case study

    Publication Year: 2004, Page(s):111 - 119
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (727 KB) | HTML iconHTML

    Reverse engineering for program understanding is always the first step in a reengineering project. When CASE tools are used to develop legacy applications, there are hidden assets that are not usually available. These assets may be very useful for program understanding because they contain design and architectural information usually only found, if at all, in the applications' documentation or are... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Understanding Web applications through dynamic analysis

    Publication Year: 2004, Page(s):120 - 129
    Cited by:  Papers (20)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (761 KB) | HTML iconHTML

    The relevance and pervasiveness of Web applications as a vital part of modern enterprise systems has significantly increased in recent years. However, the lack of adequate documentation promotes the need for reverse engineering tools aiming at supporting Web application maintenance and evolution tasks. A nontrivial Web application is a complex artifact integrating technologies such as scripting la... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Reengineering Web applications based on cloned pattern analysis

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

    Web applications are subject to continuous and rapid evolution. Often it happens that programmers indiscriminately duplicate Web pages without considering systematic development and maintenance methods. This practice creates code clones that make Web applications hard to maintain and reuse. This paper presents an approach for reengineering Web applications based on clone analysis that aims at iden... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Towards a technique for reverse engineering Web transactions from a user's perspective

    Publication Year: 2004, Page(s):142 - 150
    Cited by:  Papers (6)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (292 KB) | HTML iconHTML

    Many Web sites could improve their users' experience through systematic analysis of transaction paths, so that users' expectations and site design are more closely aligned. This paper outlines preliminary steps towards a technique for reverse engineering Web transactions from a user's perspective. The result of the reverse engineering activity is a conceptual model that is based on extensions to t... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Program comprehension for Web services

    Publication Year: 2004, Page(s):151 - 160
    Cited by:  Papers (7)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (317 KB) | HTML iconHTML

    Web services provide programmatic interaction between organisations within large heterogeneous distributed systems. Using recent experiences of constructing and enhancing a data integration system for the health domain, based on Web services, we draw conclusions about new problems for program comprehension. These derive from the fundamentally dynamic and distributed nature of the environment. We s... View full abstract»

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