By Topic

Source Code Analysis and Manipulation (SCAM), 2012 IEEE 12th International Working Conference on

Date 23-24 Sept. 2012

Filter Results

Displaying Results 1 - 25 of 34
  • [Front and back cover]

    Publication Year: 2012, Page(s): C4
    Request permission for commercial reuse | PDF file iconPDF (2191 KB)
    Freely Available from IEEE
  • [Title page i]

    Publication Year: 2012, Page(s): i
    Request permission for commercial reuse | PDF file iconPDF (106 KB)
    Freely Available from IEEE
  • [Title page iii]

    Publication Year: 2012, Page(s): iii
    Request permission for commercial reuse | PDF file iconPDF (327 KB)
    Freely Available from IEEE
  • [Copyright notice]

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

    Publication Year: 2012, Page(s):v - vii
    Request permission for commercial reuse | PDF file iconPDF (131 KB)
    Freely Available from IEEE
  • Message from Chairs

    Publication Year: 2012, Page(s):viii - ix
    Request permission for commercial reuse | PDF file iconPDF (182 KB) | HTML iconHTML
    Freely Available from IEEE
  • Conference Organization

    Publication Year: 2012, Page(s): x
    Request permission for commercial reuse | PDF file iconPDF (91 KB)
    Freely Available from IEEE
  • Program Committee

    Publication Year: 2012, Page(s):xi - xii
    Request permission for commercial reuse | PDF file iconPDF (103 KB)
    Freely Available from IEEE
  • Steering Committee

    Publication Year: 2012, Page(s):xiii - xiv
    Request permission for commercial reuse | PDF file iconPDF (90 KB)
    Freely Available from IEEE
  • Reviewers

    Publication Year: 2012, Page(s): xv
    Request permission for commercial reuse | PDF file iconPDF (126 KB)
    Freely Available from IEEE
  • Cooperative Testing and Analysis: Human-Tool, Tool-Tool and Human-Human Cooperations to Get Work Done

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

    Tool automation to reduce manual effort has been an active research area in various sub fields of software engineering such as software testing and analysis. To maximize the value of software testing and analysis, effective support for cooperation between engineers and tools is greatly needed and yet lacking in state-of-the-art research and practice. In particular, testing and analysis are in a gr... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Collections Frameworks for Points-To Analysis

    Publication Year: 2012, Page(s):4 - 13
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (223 KB) | HTML iconHTML

    Points-to information is the basis for many analyses and transformations, e.g., for program understanding and optimization. Collections frameworks are part of most modern programming languages' infrastructures and used by many applications. The richness of features and the inherent structure of collection classes affect both performance and precision of points-to analysis negatively. In this paper... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Building Useful Program Analysis Tools Using an Extensible Java Compiler

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

    Large software companies need customized tools to manage their source code. These tools are often built in an ad-hoc fashion, using brittle technologies such as regular expressions and home-grown parsers. Changes in the language cause the tools to break. More importantly, these ad-hoc tools often do not support uncommon-but-valid code code patterns. We report our experiences building source-code a... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Impact Analysis in the Presence of Dependence Clusters Using Static Execute after in WebKit

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

    Impact analysis based on code dependence can be an integral part of software quality assurance by providing opportunities to identify those parts of the software system that are affected by a change. Because changes usually have far reaching effects in programs, effective and efficient impact analysis is vital, which has different applications including change propagation and regression testing. S... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Closed Symbolic Execution for Verifying Program Termination

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

    Symbolic execution, originally introduced as a method for program testing and debugging, is usually incomplete because of infinite symbolic execution paths. In this work, we adapt some well-known notions from partial evaluation in order to have a complete symbolic execution scheme which can then be used to check liveness properties like program termination. We also introduce a representation of th... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Alias-Aware Propagation of Simple Pattern-Based Properties in PHP Applications

    Publication Year: 2012, Page(s):44 - 53
    Cited by:  Papers (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (210 KB) | HTML iconHTML

    In this paper, we present novel algorithms for the propagation of pattern-based properties in PHP applications. Intuitively, pattern-based properties designate those properties that are intrinsically associated to syntactic patterns in the source code. Security checks in access control models are an example of pattern-based properties. At the source code level, permissions are typically verified w... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • CAWDOR: Compiler Assisted Worm Defense

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

    This paper explores how much the source code analysis can assist worm defense system. Previously-proposed worm defense systems have used disparate mechanisms to detect worms, analyze exploits, verify alerts, and apply mitigations. Furthermore, previous systems have not offered predictability, i.e. it is not possible to verify, in advance, that the defense system will never generate a mitigation th... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Folding Repeated Instructions for Improving Token-Based Code Clone Detection

    Publication Year: 2012, Page(s):64 - 73
    Cited by:  Papers (4)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (2452 KB) | HTML iconHTML

    A variety of code clone detection methods have been proposed before now. However, only a small part of them is widely used. Widely-used methods are line-based and token-based ones. They have high scalability because they neither require deep source code analysis nor constructing complex intermediate structures for the detection. High scalability is one of the big advantages in code clone detection... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Evolution of Near-Miss Clones

    Publication Year: 2012, Page(s):74 - 83
    Cited by:  Papers (6)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (228 KB) | HTML iconHTML

    It is often claimed that duplicated source code fragments increase the maintenance effort in software systems. To investigate the impact of so called clones it is useful to analyze how they evolve. A previous study analyzed several aspects of the evolution of identical clones in nine open source systems and has found that the peculiarity of clone evolution is significantly different for each syste... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Optimizing Expression Selection for Lookup Table Program Transformation

    Publication Year: 2012, Page(s):84 - 93
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (323 KB) | HTML iconHTML

    Scientific programmers can speed up function evaluation by precomputing and storing function results in lookup table (LUTs), thereby replacing costly evaluation code with an inexpensive memory access. A code transform that replaces computation with LUT code can improve performance, however, accuracy is reduced because of error inherent in reconstructing values from LUT data. LUT transforms are com... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Cross-Language Code Analysis and Refactoring

    Publication Year: 2012, Page(s):94 - 103
    Cited by:  Papers (5)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (324 KB) | HTML iconHTML

    Software composed of artifacts written in multiple (programming) languages is pervasive in today's enterprise, desktop, and mobile applications. Since they form one system, artifacts from different languages reference one another, thus creating what we call semantic cross-language links. By their very nature, such links are out of scope of the individual programming language, they are ignored by m... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • When Does a Refactoring Induce Bugs? An Empirical Study

    Publication Year: 2012, Page(s):104 - 113
    Cited by:  Papers (13)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (379 KB) | HTML iconHTML

    Refactorings are - as defined by Fowler - behavior preserving source code transformations. Their main purpose is to improve maintainability or comprehensibility, or also reduce the code footprint if needed. In principle, refactorings are defined as simple operations so that are "unlikely to go wrong" and introduce faults. In practice, refactoring activities could have their risks, as other changes... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Aucsmith-Like Obfuscation of Java Bytecode

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

    This paper describes a functional dynamic Java byte code obfuscator based on the general ideas introduced by Aucsmith's algorithm. This tool provides a very high level of security for the obfuscated code due to the fact that the code that gets executed is not visible at all in the initial jar file, but at the cost of an extreme performance overhead. However, further improvements promise to drastic... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • AccessAnalysis: A Tool for Measuring the Appropriateness of Access Modifiers in Java Systems

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

    Access modifiers allow Java developers to define package and class interfaces tailored for different groups of clients. According to the principles of information hiding and encapsulation, the accessibility of types, methods, and fields should be as restrictive as possible. However, in programming practice, the potential of the given possibilities seems not always be fully exploited. Access Analys... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Dynamic Trace-Based Data Dependency Analysis for Parallelization of C Programs

    Publication Year: 2012, Page(s):126 - 131
    Cited by:  Papers (1)  |  Patents (3)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (293 KB) | HTML iconHTML

    Writing parallel code is traditionally considered a difficult task, even when it is tackled from the beginning of a project. In this paper, we demonstrate an innovative toolset that faces this challenge directly. It provides the software developers with profile data and directs them to possible top-level, pipeline-style parallelization opportunities for an arbitrary sequential C program. This appr... View full abstract»

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