By Topic

2009 IEEE 17th International Conference on Program Comprehension

17-19 May 2009

Filter Results

Displaying Results 1 - 25 of 66
  • ICPC 2009 [USB label art]

    Publication Year: 2009, Page(s): i
    Request permission for commercial reuse | PDF file iconPDF (67 KB)
    Freely Available from IEEE
  • Proceedings of the 2009 IEEE 17th International Conference on Program Comprehension [USB welcome page]

    Publication Year: 2009, Page(s): ii
    Request permission for commercial reuse | PDF file iconPDF (1525 KB)
    Freely Available from IEEE
  • ICPC 2009 Proceedings Hub page

    Publication Year: 2009, Page(s): iii
    Request permission for commercial reuse | PDF file iconPDF (143 KB)
    Freely Available from IEEE
  • Session list

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

    Publication Year: 2009, Page(s):v - xi
    Request permission for commercial reuse | PDF file iconPDF (51 KB)
    Freely Available from IEEE
  • Brief author index

    Publication Year: 2009, Page(s):xii - xvi
    Request permission for commercial reuse | PDF file iconPDF (27 KB)
    Freely Available from IEEE
  • Detailed author index

    Publication Year: 2009, Page(s):xvii - xxxiv
    Request permission for commercial reuse | PDF file iconPDF (59 KB)
    Freely Available from IEEE
  • Message from the General Chair and Program Co-Chairs

    Publication Year: 2009, Page(s): xxxv
    Request permission for commercial reuse | PDF file iconPDF (75 KB) | HTML iconHTML
    Freely Available from IEEE
  • Conference committee

    Publication Year: 2009, Page(s):xxxvi - xxxvii
    Request permission for commercial reuse | PDF file iconPDF (48 KB)
    Freely Available from IEEE
  • Program Committee

    Publication Year: 2009, Page(s):xxxviii - xl
    Request permission for commercial reuse | PDF file iconPDF (64 KB)
    Freely Available from IEEE
  • Intensions are a key to program comprehension

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

    The classical comprehension theories study relations between extensions, intensions, and names. Originally developed in linguistics and mathematics, these theories are applicable to program comprehension as well. While extensions are present in the program, the intensions are usually missing, and evolution and maintenance programmers have to recover them as the program cannot be successfully compr... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Variable granularity for improving precision of impact analysis

    Publication Year: 2009, Page(s):10 - 19
    Cited by:  Papers (33)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (160 KB) | HTML iconHTML

    Impact analysis is a specialized process of program comprehension that investigates the nature and extent of a planned software change. Traditionally, impact analysis involves inspecting dependencies among the software components of a fixed granularity; these components constitute a dependency graph. In this paper, we argue that a single granularity is insufficient and leads to imprecise analysis.... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Automatically identifying changes that impact code-to-design traceability

    Publication Year: 2009, Page(s):20 - 29
    Cited by:  Papers (7)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (303 KB) | HTML iconHTML

    An approach is presented that automatically determines if a given source code change impacts the design (i.e., UML class diagram) of the system. This allows code-to-design traceability to be consistently maintained as the source code evolves. The approach uses lightweight analysis and syntactic differencing of the source code changes to determine if the change alters the class diagram in the conte... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Automatic classication of large changes into maintenance categories

    Publication Year: 2009, Page(s):30 - 39
    Cited by:  Papers (16)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (787 KB) | HTML iconHTML

    Large software systems undergo significant evolution during their lifespan, yet often individual changes are not well documented. In this work, we seek to automatically classify large changes into various categories of maintenance tasks - corrective, adaptive, perfective, feature addition, and non-functional improvement - using machine learning techniques. In a previous paper, we found that many c... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A plethora of paths

    Publication Year: 2009, Page(s):40 - 49
    Cited by:  Papers (10)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (438 KB) | HTML iconHTML

    A common static software bug detection technique is to use path simulation. Each execution path is simulated using symbolic variables to determine if any software errors could occur. The scalability of this and other path-based approaches is dependent on the number of paths in the program. This paper explores the number of paths in 15 different programs. Often, there are one or two functions that ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Practical static analysis for inference of security-related program properties

    Publication Year: 2009, Page(s):50 - 59
    Cited by:  Papers (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (248 KB) | HTML iconHTML

    We present a static analysis framework for inference of security-related program properties. Within this framework we design and implement ownership, immutability and information flow inference analyses for Java. We perform empirical investigation on a set of Java components, and on a set of established security benchmarks. The results indicate that the analyses are practical and precise, and ther... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Impact analysis and visualization toolkit for static crosscutting in AspectJ

    Publication Year: 2009, Page(s):60 - 69
    Cited by:  Papers (2)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (435 KB) | HTML iconHTML

    Understanding aspect-oriented systems, without appropriate tool support, is a difficult and a recognized problem in the research community. Surprisingly, little has been done to help developers understand the impact of the static crosscutting constructs of AspectJ on base programs. Questions of interest to developers such as: which statements in a base program are affected by a given inter-type de... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • BugFix: A learning-based tool to assist developers in fixing bugs

    Publication Year: 2009, Page(s):70 - 79
    Cited by:  Papers (14)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (315 KB) | HTML iconHTML

    We present a tool called BugFix that can assist developers in fixing program bugs. Our tool automatically analyzes the debugging situation at a statement and reports a prioritized list of relevant bug-fix suggestions that are likely to guide the developer to an appropriate fix at that statement. BugFix incorporates ideas from machine learning to automatically learn from new debugging situations an... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Resumption strategies for interrupted programming tasks

    Publication Year: 2009, Page(s):80 - 89
    Cited by:  Papers (4)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (183 KB) | HTML iconHTML

    Interruptions are a daily reality for professional programmers. Unfortunately, the strategies programmers use to recover lost knowledge and resume work have not yet been well studied. In this paper, we perform exploratory analysis on 10,000 recorded programming sessions of 85 programmers to understand the variety of strategies used by programmers for resuming programming tasks. In our study, we fi... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Using activity traces to characterize programming behaviour beyond the lab

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

    Systematically improving the efficiency of programmers requires understanding what activities occur during programming, which activities are inefficient and then assessing languages, tools and processes proposed to improve the situation. Conducting the experiments required to support a systematic approach is difficult for many reasons, including the lack of availability of experienced programmers ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • An in-vivo study of the cognitive levels employed by programmers during software maintenance

    Publication Year: 2009, Page(s):95 - 99
    Cited by:  Papers (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (74 KB) | HTML iconHTML

    Several researchers have proposed Bloom's taxonomy as a framework within which to study the cognitive levels employed by programmers during software comprehension. But a review of empirical studies in this area illustrates that previous work has nearly exclusively focused on the lower cognitive levels of the taxonomy. However, the taxonomy was initially proposed as a dasiacumulative hierarchypsila... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Trace visualization for program comprehension: A controlled experiment

    Publication Year: 2009, Page(s):100 - 109
    Cited by:  Papers (13)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (783 KB) | HTML iconHTML

    Understanding software through dynamic analysis has been a popular activity in the past decades. One of the most common approaches in this respect is execution trace analysis: among our own efforts in this context is EXTRAVIS, a tool for the visualization of large traces. Similar to other trace visualization techniques, our tool has been validated through anecdotal evidence, but should also be qua... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Using spoken text to aid debugging: An empirical study

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

    Comprehending and debugging computer programs are inherently difficult tasks. The current approach to building program execution and debugging environments is to use exclusively visual stimuli. We present an alternative: the Sonified Omniscient Debugger (SOD), a program execution and debugging environment designed to output carefully chosen spoken auditory cues to supplement visual stimuli. Origin... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Sonification design guidelines to enhance program comprehension

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

    Faced with the challenges of understanding the source code of a program, software developers are assisted by a wealth of software visualization research. This work explores how visualization can be supplemented by sonification as a cognitive tool for code comprehension. By engaging the programmer's auditory senses, sonification can improve the utility of program comprehension tools. This paper rep... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Instrumenting time-sensitive software for feature location

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

    Feature location is a commonly occurring program comprehension problem. In understanding large software systems, software engineers need to locate the different software components that work together to provide a specific end user feature. Several dynamic analysis methods for feature location have been proposed in the literature. These generally require instrumenting the software to trace executio... View full abstract»

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