By Topic

Source Code Analysis and Manipulation (SCAM), 2013 IEEE 13th International Working Conference on

Date 22-23 Sept. 2013

Filter Results

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

    Publication Year: 2013 , Page(s): c1
    Save to Project icon | Request Permissions | PDF file iconPDF (2612 KB)  
    Freely Available from IEEE
  • [Copyright notice]

    Publication Year: 2013 , Page(s): ii
    Save to Project icon | Request Permissions | PDF file iconPDF (51 KB)  
    Freely Available from IEEE
  • Editors

    Publication Year: 2013 , Page(s): iii
    Save to Project icon | Request Permissions | PDF file iconPDF (144 KB)  
    Freely Available from IEEE
  • Message from the chairs

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

    Publication Year: 2013 , Page(s): v - viii
    Save to Project icon | Request Permissions | PDF file iconPDF (64 KB)  
    Freely Available from IEEE
  • Table of contents

    Publication Year: 2013 , Page(s): ix - x
    Save to Project icon | Request Permissions | PDF file iconPDF (75 KB)  
    Freely Available from IEEE
  • Empirical investigation of SEA-based dependence cluster properties

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

    Dependence clusters are (maximal) groups of source code entities that each depend on the other according to some dependence relation. Such clusters are generally seen as detrimental to many software engineering activities, but their formation and overall structure are not well understood yet. In a set of subject programs from moderate to large sizes, we observed frequent occurrence of dependence c... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Characterization and assessment of the linux configuration complexity

    Publication Year: 2013 , Page(s): 11 - 20
    Save to Project icon | Request Permissions | Click to expandAbstract | PDF file iconPDF (217 KB) |  | HTML iconHTML  

    The Linux kernel is configured for specific uses by manipulations of the source code during the compilation process. These manipulations are performed by the C pre-processor (CPP), based on in-line directives. Such directives, and the interleaving of multiple versions of the code that they allow, may cause difficulties in code comprehension. To better understand the effects of CPP, we perform a de... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Criticality of defects in cyclic dependent components

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

    (Background) Software defects that most likely will turn into system and/or business failures are termed critical by most stakeholders. Thus, having some warnings of the most probable location of such critical defects in a software system is crucial. Software complexity (e.g. coupling) has long been established to be associated with the number of defects. However, what is really challenging is not... View full abstract»

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

    Publication Year: 2013 , Page(s): 31 - 36
    Save to Project icon | Request Permissions | Click to expandAbstract | PDF file iconPDF (232 KB) |  | HTML iconHTML  

    Source code clustering is an important technique used in software development and maintenance to understand the modular structure of code. An array of algorithms are available for clustering like simulated annealing based search. Source code have different kinds of features such as structural or textual features. The collection of these different types of source code features and computation of re... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • ForkSim: Generating software forks for evaluating cross-project similarity analysis tools

    Publication Year: 2013 , Page(s): 37 - 42
    Save to Project icon | Request Permissions | Click to expandAbstract | PDF file iconPDF (109 KB) |  | HTML iconHTML  

    Software project forking, that is copying an existing project and developing a new independent project from the copy, occurs frequently in software development. Analysing the code similarities between such software projects is useful as developers can use similarity information to merge the forked systems or migrate them towards a reuse approach. Several techniques for detecting cross-project simi... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Empirical evidence of large-scale diversity in API usage of object-oriented software

    Publication Year: 2013 , Page(s): 43 - 52
    Cited by:  Papers (2)
    Save to Project icon | Request Permissions | Click to expandAbstract | PDF file iconPDF (947 KB) |  | HTML iconHTML  

    In this paper, we study how object-oriented classes are used across thousands of software packages. We concentrate on “usage diversity”, defined as the different statically observable combinations of methods called on the same object. We present empirical evidence that there is a significant usage diversity for many classes. For instance, we observe in our dataset that Java's String ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Aspectual source code analysis with GASR

    Publication Year: 2013 , Page(s): 53 - 62
    Cited by:  Papers (2)
    Save to Project icon | Request Permissions | Click to expandAbstract | PDF file iconPDF (129 KB) |  | HTML iconHTML  

    To be able to modularize crosscutting concerns, aspects introduce new programming language features, often in a new language, with a specific syntax. These new features lead to new needs for source code analysis tools, resulting in the requirement for a general-purpose aspectual source code analysis tool. Ignoring this requirement has led to a nontrivial duplication of effort in the aspect-oriente... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Driving a sound static software analyzer with branch-and-bound

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

    During the last decade, static analyzers of source code have improved greatly. Today, precise analyzers that propagate values for the program's variables, for instance with interval arithmetic, are used in the industry. The simultaneous propagation of sets of values, while computationally efficient, is a source of approximations, and ultimately of false positives. When the loss of precision is det... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • PtrTracker: Pragmatic pointer analysis

    Publication Year: 2013 , Page(s): 69 - 73
    Save to Project icon | Request Permissions | Click to expandAbstract | PDF file iconPDF (107 KB) |  | HTML iconHTML  

    Static program analysis for bug detection in industrial C/C++ code has many challenges. One of them is to analyze pointer and pointer structures efficiently. While there has been much research into various aspects of pointer analysis either for compiler optimization or for verification tasks, both classical categories are not optimized for bug detection, where speed and precision are important, bu... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Tracing with a minimal number of probes

    Publication Year: 2013 , Page(s): 74 - 83
    Save to Project icon | Request Permissions | Click to expandAbstract | PDF file iconPDF (159 KB) |  | HTML iconHTML  

    When a program execution must be observed, probes are injected to trace its execution. Probes are intrusive, causing execution overhead and modifying a program's real time properties. It is therefore desirable to place them efficiently, so that their negative effects are mitigated. This paper presents a new algorithm for efficiently allocating probes at vertices in the control flow graph of a prog... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A state alteration and inspection-based interactive debugger

    Publication Year: 2013 , Page(s): 84 - 93
    Save to Project icon | Request Permissions | Click to expandAbstract | PDF file iconPDF (321 KB) |  | HTML iconHTML  

    Despite significant advances in automated debugging, programmers still rely on traditional interactive debuggers (e.g., GDB) to find and fix bugs. While popular, these debuggers have major deficiencies: they do not guide the programmer in narrowing the source of error, and they only support a limited and low-level set of state-altering commands, hence semantic state alteration requires recompilati... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Proteum/FL: A tool for localizing faults using mutation analysis

    Publication Year: 2013 , Page(s): 94 - 99
    Cited by:  Papers (2)
    Save to Project icon | Request Permissions | Click to expandAbstract | PDF file iconPDF (202 KB) |  | HTML iconHTML  

    Fault diagnosis is the process of analyzing programs with the aim of identifying the code fragments that are faulty. It has been identified as one of the most expensive and time consuming tasks of software development. Even worst, this activity is usually accomplished based on manual analysis. To this end, automatic or semi-automatic fault diagnosis approaches are useful in assisting software deve... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • GeCoS: A framework for prototyping custom hardware design flows

    Publication Year: 2013 , Page(s): 100 - 105
    Save to Project icon | Request Permissions | Click to expandAbstract | PDF file iconPDF (236 KB) |  | HTML iconHTML  

    GeCoS is an open source framework that provide a highly productive environment for hardware design. GeCoS primarily targets custom hardware design using High Level Synthesis, distinguishing itself from classical compiler infrastructures. Compiling for custom hardware makes use of domain specific semantics that are not considered by general purpose compilers. Finding the right balance between vario... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Review efforts reduction by partitioning of static analysis warnings

    Publication Year: 2013 , Page(s): 106 - 115
    Cited by:  Papers (2)
    Save to Project icon | Request Permissions | Click to expandAbstract | PDF file iconPDF (211 KB) |  | HTML iconHTML  

    Static analysis has been successfully employed in software verification, however the number of generated warnings and cost incurred in their manual review is a major concern. In this paper we present a novel idea to reduce manual review efforts by identifying redundancy in this review process. We propose two partitioning techniques to identify redundant warnings - 1) partitioning of the warnings w... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • JSNOSE: Detecting JavaScript Code Smells

    Publication Year: 2013 , Page(s): 116 - 125
    Cited by:  Papers (1)
    Save to Project icon | Request Permissions | Click to expandAbstract | PDF file iconPDF (180 KB) |  | HTML iconHTML  

    JavaScript is a powerful and flexible prototype-based scripting language that is increasingly used by developers to create interactive web applications. The language is interpreted, dynamic, weakly-typed, and has first-class functions. In addition, it interacts with other web languages such as CSS and HTML at runtime. All these characteristics make JavaScript code particularly error-prone and chal... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Determining dynamic coupling in JavaScript using object type inference

    Publication Year: 2013 , Page(s): 126 - 135
    Save to Project icon | Request Permissions | Click to expandAbstract | PDF file iconPDF (159 KB) |  | HTML iconHTML  

    Coupling in an object-oriented context is often defined in terms of access to instance variables and methods of other classes. JavaScript, however, lacks static type information and classes, and instead features a flexible object system with prototypal inheritance. In order to determine coupling in JavaScript, we infer object types based on abstract interpretation of a program. Type inference depe... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • CodeMetropolis - code visualisation in MineCraft

    Publication Year: 2013 , Page(s): 136 - 141
    Save to Project icon | Request Permissions | Click to expandAbstract | PDF file iconPDF (1025 KB) |  | HTML iconHTML  

    Data visualisation with high expressive power plays an important role in code comprehension. Recent visualization tools try to fulfil the expectations of the users and use various analogies. For example, in an architectural metaphor, each class is represented by a building. Buildings are grouped into districts according to the structure of the namespaces. We think that these unique ways of code re... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • MetricMiner: Supporting researchers in mining software repositories

    Publication Year: 2013 , Page(s): 142 - 146
    Save to Project icon | Request Permissions | Click to expandAbstract | PDF file iconPDF (2357 KB) |  | HTML iconHTML  

    Researchers use mining software repository (MSR) techniques for studying software engineering empirically, by means of analysis of artifacts, such as source code, version control systems metadata, etc. However, to conduct a study using these techniques, researchers usually spend time collecting data and developing a complex infrastructure, which demands disk space and processing time. In this pape... View full abstract»

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

    Publication Year: 2013 , Page(s): 147 - 156
    Save to Project icon | Request Permissions | Click to expandAbstract | PDF file iconPDF (125 KB) |  | HTML iconHTML  

    The FermaT transformation system has proved to be a very successful tool for migrating from assembler to high level languages, including C and COBOL. One of the more challenging aspects facing automated migration, specifically when the aim is to produce maintainable code from unstructured “spaghetti” code, is to restructure assembler subroutines into semantically equivalent high leve... View full abstract»

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