By Topic

Source Code Analysis and Manipulation, 2004. Fourth IEEE International Workshop on

Date 16-16 Sept. 2004

Filter Results

Displaying Results 1 - 25 of 25
  • Fourth IEEE International Workshop on Source Code Analysis and Manipulation

    Publication Year: 2004
    Request permission for commercial reuse | PDF file iconPDF (1236 KB)
    Freely Available from IEEE
  • [Title page]

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

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

    Publication Year: 2004, Page(s): vii
    Request permission for commercial reuse | PDF file iconPDF (32 KB) | HTML iconHTML
    Freely Available from IEEE
  • Conference organization

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

    Publication Year: 2004, Page(s): ix
    Request permission for commercial reuse | PDF file iconPDF (37 KB)
    Freely Available from IEEE
  • list-reviewer

    Publication Year: 2004, Page(s): x
    Request permission for commercial reuse | PDF file iconPDF (21 KB)
    Freely Available from IEEE
  • Using source-code analysis to help end-user programmers create dependable software

    Publication Year: 2004
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (54 KB) | HTML iconHTML

    Summary form only given. Not long ago, most software was written by professional programmers, who could be presumed to have an interest in software engineering methodologies and in tools and techniques for improving software dependability. Today, however, a great deal of software is written not by professionals but by end-users, who create applications such as multimedia simulations, dynamic Web p... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Software de-pipelining technique

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

    Software pipelining is an optimization technique used to speed up loop execution. It is widely implemented in optimizing compilers for VLIW and superscalar processors that support instruction level parallelism. Software de-pipelining is the reverse of software pipelining; it restores the assembly code of a software-pipelined loop back to its semantically equivalent sequential form. Due to the non-... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Abstracting stack to detect obfuscated calls in binaries

    Publication Year: 2004, Page(s):17 - 26
    Cited by:  Papers (4)  |  Patents (2)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (159 KB) | HTML iconHTML

    Information about calls to the operating system (or kernel libraries) made by a binary executable may be used to determine whether the binary is malicious. Being aware of this approach, malicious programmers hide this information by making such calls without using the call instruction. For instance, the `call addr' instruction may be replaced by two push instructions and a return instruction, the ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Context-sensitivity matters, but context does not

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

    Whether context-sensitive program analysis is more effective than context-insensitive analysis is an ongoing discussion. There is evidence that context-sensitivity matters in complex analyses like pointer analysis or program slicing. One might think that the context itself matters, because empirical data shows that context-sensitive program slicing is more precise and under some circumstances even... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Some notes on interprocedural program slicing

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

    Weiser's algorithm for computing interprocedural slices has a serious drawback: it generates spurious criteria which are not feasible in the control flow of the program. When these extraneous criteria are used the slice becomes imprecise in that it has statements that are not relevant to the computation. Horwitz, Reps and Binkley solved this problem by devising the system dependence graph with an ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Formalizing executable dynamic and forward slicing

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

    This paper uses a projection theory of slicing to formalize the definition of executable dynamic and forward program slicing. Previous definitions, when given, have been operational, and previous descriptions have been algorithmic. The projection framework is used to provide a declarative formulation in terms of the different equivalences preserved by the different forms of slicing. The analysis o... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Control flow reversal for adjoint code generation

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

    We describe an approach to the reversal of the control flow of structured programs. It is used to automatically generate adjoint code for numerical programs by semantic source transformation. After a short introduction to applications and the implementation tool set, we describe the building blocks using a simple example. We then illustrate the code reversal within basic blocks. The main part of t... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Evolving transformation sequences using genetic algorithms

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

    Program transformation is useful in a number of applications including program comprehension, reverse engineering and compiler optimization. In all these applications, transformation algorithms are constructed by hand for each different transformation goal. Loosely speaking, a transformation algorithm defines a sequence of transformation steps to apply to a given program. It is notoriously hard to... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Program restructuring through clustering techniques

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

    Program restructuring is a key method for improving the quality of ill-structured programs, thereby increasing the understandability and reducing the maintenance cost. It is a challenging task and a great deal of research is still ongoing. This work presents an approach to program restructuring at the function level, based on clustering techniques with cohesion as the major concern. Clustering has... View full abstract»

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

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

    The procedure extraction problem is concerned with the meaning preserving formation of a procedure from a (not necessarily contiguous) selected set of statements. Previous approaches to the problem have used dependence analysis to identify the non-selected statements which must be 'promoted' (also selected) in order to preserve semantics. All previous approaches to the problem have been syntax pre... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Mining aspectual views using formal concept analysis

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

    We report upon an initial experiment using the technique of formal concept analysis for mining aspectual views from the source code. An aspectual view is a set of source code entities, such as class hierarchies, classes and methods that are structurally related in some way, and often crosscut a particular application. Initially, we follow a lightweight approach, where we only consider the names of... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Adding distribution to existing applications by means of aspect oriented programming

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

    Aspect oriented programming (AOP) is a new programming paradigm that offers a novel modularization unit for the crosscutting concerns. Functionalities originally spread across several modules and tangled with each other can be factored out into a single, separate unit, called an aspect. The source code fragments introduced to port an existing application to a distributed environment (such as Java ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Specifying the Law of Demeter and C++ programming guidelines with FCL

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

    The Framework Constraint Language (FCL) is a tool for detecting errors in framework usage. FCL is used to specify the syntactic constraints that frameworks impose on the code of framework-based applications. Violations of these constraints are then detected through static analysis. FCL can also be used to encode design rules such as the Law of Demeter and programming guidelines. This paper introdu... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Clone detection in source code by frequent itemset techniques

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

    In this paper we describe a new approach for the detection of clones in source code, which is inspired by the concept of frequent itemsets from data mining. The source code is represented as an abstract syntax tree in XML. Currently, such XML representations exist for instance for Java, C++, or PROLOG. Our approach is very flexible; it can be configured easily to work with multiple programming lan... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Predicting class testability using object-oriented metrics

    Publication Year: 2004, Page(s):136 - 145
    Cited by:  Papers (19)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (184 KB) | HTML iconHTML

    We investigate factors of the testability of object-oriented software systems. The starting point is given by a study of the literature to obtain both an initial model of testability and existing OO metrics related to testability. Subsequently, these metrics are evaluated by means of two case studies of large Java systems for which JUnit test cases exist. The goal of This work is to define and eva... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Executable source code and non-executable source code: analysis and relationships

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

    The concept of source code, understood as the source components used to obtain a binary, ready to execute version of a program, comprises currently more than source code written in a programming language. Specially when we move apart from systems-programming and enter the realm of end-user applications, we find source files with documentation, interface specifications, internationalization and loc... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A CASE tool platform using an XML representation of Java source code

    Publication Year: 2004, Page(s):158 - 167
    Cited by:  Papers (6)  |  Patents (4)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (366 KB) | HTML iconHTML

    Recent IDEs have become more extensible tool platforms but do not concern themselves with how other tools running on them collaborate with each other. They compel developers to use proprietary representations or the classical abstract syntax tree (AST) to build source code tools. Although these representations contain sufficient information, they are neither portable nor extensible. This paper pro... View full abstract»

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

    Publication Year: 2004, Page(s): 169
    Request permission for commercial reuse | PDF file iconPDF (22 KB)
    Freely Available from IEEE