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

24-26 June 2004

Filter Results

Displaying Results 1 - 25 of 43
  • Web services composition, execution and visualization

    Publication Year: 2004, Page(s):264 - 265
    Cited by:  Papers (2)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (241 KB) | HTML iconHTML

    This work presents a technique and a tool for Web service composition, execution and visualization. Web services composition refers to the act of interconnecting multiple elementary (or other composite) Web services, in order to create value-added functionality for customers. Graphical tools allow developers to define and create business processes on a "plug and play" basis. Runtime visualization ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Working session: program comprehension strategies for Web service and service-oriented architectures

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

    The availability of the Web has made it possible to provide new life to legacy systems as Web services components within a service-oriented architecture. Web services are self-contained, modular applications that can be described, published, located, and invoked over a network, generally, the World Wide Web. The service-oriented architecture describes three roles: service provider, service request... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Requirements driven software evolution

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

    Software evolution is an integral part of the software life cycle. Furthermore in the recent years the issue of keeping legacy systems operational in new platforms has become critical and one of the top priorities in IT departments worldwide. The research community and the industry have responded to these challenges by investigating and proposing techniques for analyzing, transforming, integrating... 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
    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.
  • 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.
  • An eclipse plug-in for model checking

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

    While model checking has been successful in uncovering subtle bugs in code, its adoption in software engineering practice has been hampered by the absence of a simple interface to the programmer in an integrated development environment. We describe an integration of the software model checker BLAST into the Eclipse development environment. We provide a verification interface for practical solution... 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.
  • 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.
  • 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.
  • An empirical study on keyword-based Web site clustering

    Publication Year: 2004, Page(s):204 - 213
    Cited by:  Papers (10)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (398 KB) | HTML iconHTML

    Web site evolution is characterized by a limited support to the understanding activities offered to the developers. In fact, design diagrams are often missing or outdated. A potentially interesting option is to reverse engineer high level views of Web sites from the content of the Web pages. Clustering is a valuable technique that can be used in this respect. Web pages can be clustered together ba... 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 (4)
    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.
  • Understanding modifications in state-based models

    Publication Year: 2004, Page(s):246 - 250
    Cited by:  Papers (2)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (266 KB) | HTML iconHTML

    System modeling is a widely used technique to model state-based systems. System models are frequently large and complex and are hard to understand. In addition, they are frequently modified because of specification changes. Understanding the effect of these changes on the model and the system may be very difficult for large models. In this paper, we present an approach that may support understandi... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • CHIVE - a program source visualisation framework

    Publication Year: 2004, Page(s):268 - 269
    Cited by:  Papers (2)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (311 KB) | HTML iconHTML

    The CHIVE visualisation framework is an attempt to provide program comprehension and visualisation tool developers with a flexible means for creating 3-dimensional visualisations of hierarchies such as those that occur in program source. The CHIVE framework supports user definable datasets, multiple graph layouts and an environment in which users can interact with visualisations created from apply... 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.
  • 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.
  • Empirical assessment of UML static object diagrams

    Publication Year: 2004, Page(s):226 - 230
    Cited by:  Papers (10)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (263 KB) | HTML iconHTML

    The essential UML logic diagrams are the class diagrams: they represent the classes of objects that make up a program. Object diagrams are used as the basis to show scenarios of dynamic evolution of the software. The use of object diagrams to depict static structure is very rare. The purpose of this study is to investigate whether the use of static object diagrams can improve the comprehension of ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • 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 effectiveness measure for software clustering algorithms

    Publication Year: 2004, Page(s):194 - 203
    Cited by:  Papers (18)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (363 KB) | HTML iconHTML

    Selecting an appropriate software clustering algorithm that can help the process of understanding a large software system is a challenging issue. The effectiveness of a particular algorithm may be influenced by a number of different factors, such as the types of decompositions produced, or the way clusters are named. In this paper, we introduce an effectiveness measure for software clustering algo... 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.
  • Resolving linkage anomalies in extracted software system models

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

    Program model linking has been largely overlooked and not constrained properly in the extraction of software system models. This often results in inaccurate system models at different levels of abstraction even if programs can be extracted correctly. This paper describes two constrained approaches toward accurate linkage resolution. The first approach is purely based on a set of linking heuristics... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Structural evolution of an open source system: a case study

    Publication Year: 2004, Page(s):172 - 182
    Cited by:  Papers (13)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (526 KB) | HTML iconHTML

    Software evolution empirical studies are made possible only when data is available and easily collectable. Open source software provides a good opportunity for observing software products in various phases of their evolution, growth and maturity. One of the aspects that have not been analyzed yet through empirical studies is the relation that exists between code components growth and the evolving ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Universal Report: a generic reverse engineering tool

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

    Source code documentation is a structured report built from the information available in the source of a given program. 'The goal of such a document is to provide more facility for program comprehension and code maintenance. This is particularly crucial for complex program involving a large amount of routines and special statements. Nowadays, there are more and more specialized programs that are p... 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.
  • 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.
  • Working in pairs as a means for design knowledge building: an empirical study

    Publication Year: 2004, Page(s):62 - 68
    Cited by:  Papers (5)
    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.