By Topic

Source Code Analysis and Manipulation, 2008 Eighth IEEE International Working Conference on

Date 28-29 Sept. 2008

Filter Results

Displaying Results 1 - 25 of 41
  • [Front cover]

    Publication Year: 2008 , Page(s): C1
    Save to Project icon | Request Permissions | PDF file iconPDF (501 KB)  
    Freely Available from IEEE
  • [Title page i]

    Publication Year: 2008 , Page(s): i
    Save to Project icon | Request Permissions | PDF file iconPDF (199 KB)  
    Freely Available from IEEE
  • [Title page iii]

    Publication Year: 2008 , Page(s): iii
    Save to Project icon | Request Permissions | PDF file iconPDF (244 KB)  
    Freely Available from IEEE
  • [Title page iv - Copyright notice]

    Publication Year: 2008 , Page(s): iv
    Save to Project icon | Request Permissions | PDF file iconPDF (99 KB)  
    Freely Available from IEEE
  • Table of contents

    Publication Year: 2008 , Page(s): v - vii
    Save to Project icon | Request Permissions | PDF file iconPDF (257 KB)  
    Freely Available from IEEE
  • Message from Chairs

    Publication Year: 2008 , Page(s): viii
    Save to Project icon | Request Permissions | PDF file iconPDF (120 KB) |  | HTML iconHTML  
    Freely Available from IEEE
  • Organizing Committee

    Publication Year: 2008 , Page(s): ix
    Save to Project icon | Request Permissions | PDF file iconPDF (97 KB)  
    Freely Available from IEEE
  • Steering Committee

    Publication Year: 2008 , Page(s): x
    Save to Project icon | Request Permissions | PDF file iconPDF (98 KB)  
    Freely Available from IEEE
  • Program Committee

    Publication Year: 2008 , Page(s): xi
    Save to Project icon | Request Permissions | PDF file iconPDF (95 KB)  
    Freely Available from IEEE
  • Additional reviewers

    Publication Year: 2008 , Page(s): xii
    Save to Project icon | Request Permissions | PDF file iconPDF (65 KB)  
    Freely Available from IEEE
  • 90% Perspiration: Engineering Static Analysis Techniques for Industrial Applications

    Publication Year: 2008 , Page(s): 3 - 12
    Cited by:  Papers (3)
    Save to Project icon | Request Permissions | Click to expandAbstract | PDF file iconPDF (310 KB) |  | HTML iconHTML  

    This article describes some of the engineering approaches that were taken during the development of GrammaTech's static-analysis technology that have taken it from a prototype system with poor performance and scalability and with very limited applicability, to a much-more general-purpose industrial-strength analysis infrastructure capable of operating on millions of lines of code. A wide variety o... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Some Assembly Required - Program Analysis of Embedded System Code

    Publication Year: 2008 , Page(s): 15 - 24
    Cited by:  Papers (2)
    Save to Project icon | Request Permissions | Click to expandAbstract | PDF file iconPDF (200 KB) |  | HTML iconHTML  

    Programming embedded system software typically involves more than one programming language. Normally, a high-level language such as C/C++ is used for application oriented tasks and a low-level assembly language for direct interaction with the underlying hardware. In most cases those languages are closely interwoven and the assembly is embedded in the C/C++ code. Verification of such programs requi... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • User-Input Dependence Analysis via Graph Reachability

    Publication Year: 2008 , Page(s): 25 - 34
    Cited by:  Papers (6)
    Save to Project icon | Request Permissions | Click to expandAbstract | PDF file iconPDF (379 KB) |  | HTML iconHTML  

    Bug-checking tools have been used with some success in recent years to find bugs in software. For finding bugs that can cause security vulnerabilities, bug checking tools require a program analysis which determines whether a software bug can be controlled by user-input. In this paper we introduce a static program analysis for computing user-input dependencies. This analysis can be used as a pre-pr... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • TBCppA: A Tracer Approach for Automatic Accurate Analysis of C Preprocessor's Behaviors

    Publication Year: 2008 , Page(s): 35 - 44
    Save to Project icon | Request Permissions | Click to expandAbstract | PDF file iconPDF (322 KB) |  | HTML iconHTML  

    C preprocessor (CPP) is a major cause that makes it much difficult to accurately analyze C source code, which is indispensable to refactoring tools for C programs. To accurately analyze C source code, we need to generate CPP mapping information between unpreprocessed C sourcecode and preprocessed one. Previous works generate CPP mapping information by extending the existing CPP, which results in l... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • An Empirical Study of Function Overloading in C++

    Publication Year: 2008 , Page(s): 47 - 56
    Save to Project icon | Request Permissions | Click to expandAbstract | PDF file iconPDF (254 KB) |  | HTML iconHTML  

    The usefulness and usability of programming tools (for example, languages, libraries, and frameworks) may greatly impact programmer productivity and software quality. Ideally, these tools should be designed to be both useful and usable.But in reality, there always exist some tools or features whose essential characteristics can be fully understood only after they have been extensively used. The st... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Is Cloned Code More Stable than Non-cloned Code?

    Publication Year: 2008 , Page(s): 57 - 66
    Cited by:  Papers (24)
    Save to Project icon | Request Permissions | Click to expandAbstract | PDF file iconPDF (952 KB) |  | HTML iconHTML  

    This paper presents a study on the stability of cloned code. The results from an analysis of 200 weeks of evolution of five software system show that the stability as measured by changes to the system is dominated by the deletion of code clones. It can also be observed that additions to a systems are more often additions to non-cloned code than additions to cloned code. If the dominating factor of... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Exploiting the Correspondence between Micro Patterns and Class Names

    Publication Year: 2008 , Page(s): 67 - 76
    Cited by:  Papers (2)
    Save to Project icon | Request Permissions | Click to expandAbstract | PDF file iconPDF (276 KB) |  | HTML iconHTML  

    This paper argues that semantic information encoded in natural language identifiers is a largely neglected resource for program analysis. First we show that words in Java class names relate to class properties, expressed using the recently developed micro patterns language. We analyse a large corpus of Java programs to create a database that links common class name words with micro patterns. Final... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • On the Use of Data Flow Analysis in Static Profiling

    Publication Year: 2008 , Page(s): 79 - 88
    Cited by:  Patents (1)
    Save to Project icon | Request Permissions | Click to expandAbstract | PDF file iconPDF (224 KB) |  | HTML iconHTML  

    Static profiling is a technique that produces estimates of execution likelihoods or frequencies based on source code analysis only. It is frequently used in determining cost/benefit ratios for certain compiler optimizations. In previous work,we introduced a simple algorithm to compute execution likelihoods,based on a control flow graph and heuristic branch prediction. In this paper we examine the ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • The Semantics of Abstract Program Slicing

    Publication Year: 2008 , Page(s): 89 - 98
    Cited by:  Papers (1)
    Save to Project icon | Request Permissions | Click to expandAbstract | PDF file iconPDF (266 KB) |  | HTML iconHTML  

    The present paper introduces the semantic basis for abstract slicing. This notion is more general than standard, concrete slicing, in that slicing criteria are abstract, i.e., defined on properties of data, rather than concrete values. This approach is based on abstract interpretation: properties are abstractions of data. Many properties can be investigated; e.g., the nullity of a program variable... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • The Evolution and Decay of Statically Detected Source Code Vulnerabilities

    Publication Year: 2008 , Page(s): 101 - 110
    Cited by:  Papers (1)
    Save to Project icon | Request Permissions | Click to expandAbstract | PDF file iconPDF (440 KB) |  | HTML iconHTML  

    The presence of vulnerable statements in the source code is a crucial problem for maintainers: properly monitoring and, if necessary, removing them is highly desirable to ensure high security and reliability. To this aim, a number of static analysis tools have been developed to detect the presence of instructions that can be subject to vulnerability attacks, ranging from buffer overflow exploitati... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • From Indentation Shapes to Code Structures

    Publication Year: 2008 , Page(s): 111 - 120
    Save to Project icon | Request Permissions | Click to expandAbstract | PDF file iconPDF (252 KB) |  | HTML iconHTML  

    In a previous study, we showed that indentation was regular across multiple languages and the variance in the level of indentation of a block of revised code is correlated with metrics such as McCabe cyclomatic complexity. Building on that work the current paper investigates the relationship between the "shape'' of the indentation of the revised code block (the "revision'') and the corresponding s... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Evaluating Key Statements Analysis

    Publication Year: 2008 , Page(s): 121 - 130
    Cited by:  Papers (1)
    Save to Project icon | Request Permissions | Click to expandAbstract | PDF file iconPDF (473 KB) |  | HTML iconHTML  

    Key statement analysis extracts from a program, statements that form the core of the programpsilas computation. A good set of key statements is small but has a large impact. Key statements form a useful starting point for understanding and manipulating a program. An empirical investigation of three kinds of key statements is presented. The three are based on Bieman and Ottpsilas principal variable... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Fast and Precise Points-to Analysis

    Publication Year: 2008 , Page(s): 133 - 142
    Cited by:  Papers (1)
    Save to Project icon | Request Permissions | Click to expandAbstract | PDF file iconPDF (211 KB) |  | HTML iconHTML  

    Many software engineering applications require points-to analysis. Client applications range from optimizing compilers to program development and testing environments to reverse-engineering tools. In this paper, we present a new context-sensitive approach to points-to analysis where calling contexts are distinguished by the points-to sets analyzed for their target expressions. Compared to other we... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Aspect-Aware Points-to Analysis

    Publication Year: 2008 , Page(s): 143 - 152
    Save to Project icon | Request Permissions | Click to expandAbstract | PDF file iconPDF (352 KB) |  | HTML iconHTML  

    Points-to analysis is a fundamental analysis technique whose results are useful in compiler optimization and software engineering tools. Although many points-to analysis algorithms have been proposed for procedural and object-oriented languages like C and Java, there is no points-to analysis for aspect-oriented languages so far. Based on Andersen-style points-to analysis for Java, we propose flow-... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Automatic Determination of May/Must Set Usage in Data-Flow Analysis

    Publication Year: 2008 , Page(s): 153 - 162
    Save to Project icon | Request Permissions | Click to expandAbstract | PDF file iconPDF (372 KB) |  | HTML iconHTML  

    Data-flow analysis is a common technique to gather program information for use in transformations such as register allocation, dead-code elimination, common subexpression elimination, scheduling, and others. Tools for generating data-flow analysis implementations remove the need for implementers to explicitly write code that iterates over statements in a program, but still require them to implemen... View full abstract»

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