Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation

10-10 Nov. 2001

Filter Results

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

    Publication Year: 2001
    Request permission for commercial reuse | PDF file iconPDF (36 KB)
    Freely Available from IEEE
  • Application maintenance using software agents

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

    The benefits of software agents as a tool for helping in the maintenance process of a software application are shown. The goal of this research was to develop a group of intelligent agents that worked together to aid in software maintenance by automatically informing the appropriate individuals of any changes that were made to an open-source Internet software application. This type of application ... View full abstract»

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

    Publication Year: 2001, Page(s): 225
    Request permission for commercial reuse | PDF file iconPDF (6 KB)
    Freely Available from IEEE
  • Using automated source code analysis for software evolution

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

    Software maintenance is one of the most expensive and time-consuming phases in the software life-cycle. The size and complexity of commercial applications probably present the greatest difficulty that maintainers face when making changes to their applications. As a result of the corresponding loss of understanding, business knowledge encapsulated within the system becomes fragmented, and any chang... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • The formal transformation approach to source code analysis and manipulation

    Publication Year: 2001, Page(s):185 - 193
    Cited by:  Papers (16)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (154 KB) | HTML iconHTML

    The article gives a brief introduction to the foundations of WSL transformation theory and describes some applications to program slicing. We introduce some generalisations of traditional slicing, amorphous slicing and conditioned slicing which are possible in the framework of WSL transformations. One generalisation is "semantic slicing" which combines slicing and abstraction to a specification View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Measurement and analysis of runtime profiling data for Java programs

    Publication Year: 2001, Page(s):122 - 130
    Cited by:  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (120 KB) | HTML iconHTML

    The authors examine a procedure for the analysis of data produced by the dynamic profiling of Java programs. In particular, we describe the issues involved in dynamic analysis, propose a metric for discrimination between the resulting data sets, and examine its application over different test suites and compilers View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Identifying clones in the Linux kernel

    Publication Year: 2001, Page(s):90 - 97
    Cited by:  Papers (15)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (117 KB) | HTML iconHTML

    Large multi-platform software systems are likely to encompass hardware-dependent code or sub-systems. However, analyzing multi-platform source code is challenging, due to the variety of supported configurations. Often, the system was originally developed for a single platform, and then new target platforms were added. This practice promotes the presence of duplicated code, also called "cloned" cod... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Detecting dead statements for concurrent programs

    Publication Year: 2001, Page(s):65 - 72
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (52 KB) | HTML iconHTML

    With more and more concurrent programs being used in practice, technique and tools to analyze such programs are urgently needed. Due to the schedule, race conditions and synchronization among processes (threads), some statements may never be executed. Such statements are dead statements and have no influence on the programs except make them more difficult to analyze and understand. Therefore, the ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A source-to-source compiler for generating dependable software

    Publication Year: 2001, Page(s):33 - 42
    Cited by:  Papers (35)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (116 KB) | HTML iconHTML

    Over the last years, an increasing number of safety-critical tasks have been demanded for computer systems. In particular, safety-critical computer-based applications are hitting market areas where cost is a major issue, and thus solutions are required which conjugate fault tolerance with low costs. A source-to-source compiler supporting a software-implemented hardware fault tolerance approach is ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Software engineering by source transformation - experience with TXL

    Publication Year: 2001, Page(s):168 - 178
    Cited by:  Papers (11)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (135 KB) | HTML iconHTML

    Many tasks in software engineering can be characterized as source to source transformations. Design recovery, software restructuring, forward engineering, language translation, platform migration and code reuse can all be understood as transformations from one source text to another. TXL, the Tree Transformation Language, is a programming language specifically designed to support rule-based source... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Using data flow analysis to infer type information in Java bytecode

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

    The paper shows how dataflow analysis can be used to infer type information related to Java bytecode, and evaluates this approach. All the elements needed to specify the dataflow problem to be solved are conveniently defined, according to the theory on data flow frameworks, along with algorithms to build them automatically from the Java bytecode. To evaluate the approach, we consider the specific ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Type infeasible call chains

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

    While some software engineering applications perform static analysis over the whole program call graph, others are more interested in specific call chains within a program's call graph. It is thus important to identify when a particular static call chain for an object-oriented program may not be executable, or feasible, such that there is no input for which the chain will be taken. The paper exami... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Preserving the documentary structure of source code in language-based transformation tools

    Publication Year: 2001, Page(s):131 - 141
    Cited by:  Papers (4)  |  Patents (2)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (126 KB) | HTML iconHTML

    Language-based tools necessarily translate textual source code into grammar-based representations. During translation, tools such as compilers and analyzers are generally free to discard comments and white space, which have no impact on the code's formal meaning. Tools that produce transformed source code for human consumption enjoy no such freedom. Comments and white space are crucial to the comp... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • JMangler - a framework for load-time transformation of Java class files

    Publication Year: 2001, Page(s):98 - 108
    Cited by:  Papers (6)  |  Patents (5)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (128 KB) | HTML iconHTML

    Current proposals for load-time transformation of Java classes are either dependent on the use of a specific class loader or dependent on a specific JVM implementation. This is not due to an inadequacy of the Java platform but to the wrong choice of the level at which to hook into the Java Class Loader Architecture. JMangler follows a novel approach that ensures both class loader and JVM independe... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Finding code on the World Wide Web: a preliminary investigation

    Publication Year: 2001, Page(s):73 - 78
    Cited by:  Papers (2)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (81 KB) | HTML iconHTML

    To find out what kind of design structures programmers really use, we need to examine a wide variety of programs. Unfortunately, most program source code is proprietary and is unavailable for analysis. The World Wide Web (Web) potentially can provide a rich source of programs for study. The freely available code on the Web, if in sufficient quality and quantity, can provide a window into software ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Analysis and manipulation of distributed multi-language software code

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

    The authors propose a formal model and a platform to deal with distributed multi-language software analysis. These provide a graph representation of the software codes (source codes and byte-codes), a change propagation process based on graph rewriting, and an automatic profiling tool to measure the contribution of any component to the global performance of the software. The program codes are stru... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Static slicing and parametric polymorphism

    Publication Year: 2001, Page(s):179 - 184
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (82 KB) | HTML iconHTML

    Interprocedural static slicing of object-oriented programs that use parametric polymorphism and late binding requires the slicing algorithm to guess which implementations of each method may be called at each call site. This problem is well-known in the slicing community, and is mentioned in most papers that discuss slicing of object-oriented programs. We analyze the problem and present a solution ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A case study in detecting software security vulnerabilities using constraint optimization

    Publication Year: 2001, Page(s):1 - 11
    Cited by:  Papers (6)  |  Patents (4)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (140 KB) | HTML iconHTML

    In this paper we present a case study in static analysis, with a focus on static methods for detecting buffer overflow vulnerabilities in software. We describe in detail a tool called Mjolnir that we have developed which improves upon existing static analysis techniques for detecting buffer overflow. The architecture and process flow of this tool are presented We discuss some common static analysi... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Program slicing: methods and applications

    Publication Year: 2001, Page(s):142 - 149
    Cited by:  Papers (43)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (75 KB) | HTML iconHTML

    Program slicing is a viable method to restrict the focus of a task to specific sub-components of a program. Examples of applications include debugging, testing, program comprehension, restructuring, downsizing, and parallelization. The paper discusses different statement deletion based slicing methods, together with algorithms and applications to software engineering View full abstract»

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

    Publication Year: 2001, Page(s):109 - 121
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (150 KB) | HTML iconHTML

    While software methodology encourages the use of software libraries and advocates architectures of layered libraries, in practice the composition of libraries is not always seamless and the combination of two well-designed libraries not necessarily well designed, since it could result in suboptimal call sequences, lost functionality, or avoidable overhead. In this paper we introduce Simplicissimus... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Flow insensitive points-to sets

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

    Pointer analysis is an important part of source code analysis. Many programs that manipulate source code take points-to sets as part of their input input. Points-to related data collected from 27 mid-sized C programs (ranging in size from 1168 to 53131 lines of code) is presented The data shows the relative sizes and the complexities of computing points-to sets. Such data is useful in improving al... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A hybrid program slicing framework

    Publication Year: 2001, Page(s):12 - 23
    Cited by:  Papers (4)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (152 KB) | HTML iconHTML

    Program slicing is a decomposition technique that transforms a large program into a smaller one that contains only statements relevant to the computation of a selected function. Applications of program slicing can be found in software testing, debugging, and maintenance by reducing the amount of data that has to be analyzed in order to comprehend a program or parts of its functionality. In this pa... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Restructuring Web applications via transformation rules

    Publication Year: 2001, Page(s):150 - 160
    Cited by:  Papers (6)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (197 KB) | HTML iconHTML

    During the evolution phase, the structure (pages and links) of a Web application tends unavoidably to degrade. A solution to reverse this degradation can be restructuring the Web application, but this work may take a lot of time and effort if conducted without appropriate tools. The theory of rewrite rules has been used with success in many real restructuring works on traditional software. Our ide... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • An object level transformation technique to improve the performance of embedded applications

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

    Embedded system designers tend to use small and simple cache memories. This kind of cache can experience poor performance because of their nonflexible placement policy. In this scenario, a big fraction of the misses can originate from the mismatch between cache behavior and memory access locality features. A way to increase the performance is to modify the program layout to fit the cache structure... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Smell the coffee! Uncovering Java analysis issues

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

    The article sets out to address some of the issues that occur when there is a need to utilise analysis and manipulation techniques on Java source code. Unfortunately, Java has been largely ignored within academia with more interest still being expressed in COBOL, C, and C++. This is a problem because of the utilisation of Java in industry and the need to be able to analyse and comprehend systems t... View full abstract»

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