1,773 research outputs found

    Syntax tree fingerprinting: a foundation for source code similarity detection

    Get PDF
    Plagiarism detection and clone refactoring in software depend on one common concern: nding similar source chunks across large repositories. However, since code duplication in software is often the result of copy-paste behaviors, only minor modi cations are expected between shared codes. On the contrary, in a plagiarism detection context, edits are more extensive and exact matching strategies show their limits. Among the three main representations used by source code similarity detection tools, namely the linear token sequences, the Abstract Syntax Tree (AST) and the Program Depen- dency Graph (PDG), we believe that the AST could e ciently support the program analysis and transformations required for the advanced similarity detection process. In this paper we present a simple and scalable architecture based on syntax tree nger- printing. Thanks to a study of several hashing strategies reducing false-positive collisions, we propose a framework that e ciently indexes AST representations in a database, that quickly detects exact (w.r.t source code abstraction) clone clusters and that easily retrieves their corresponding ASTs. Our aim is to allow further processing of neighboring exact matches in order to identify the larger approximate matches, dealing with the common modi cation patterns seen in the intra-project copy-pastes and in the plagiarism cases

    Tapering Enhanced Stimulated Superradiant Oscillator

    Full text link
    In this paper, we present a new kind of high power and high efficiency free-electron laser oscillator based on the application of the tapering enhanced stimulated superradiant amplification (TESSA) scheme. The main characteristic of the TESSA scheme is a high intensity seed pulse which provides high gradient beam deceleration and efficient energy extraction. In the oscillator configuration, the TESSA undulator is driven by a high repetition rate electron beam and embedded in an optical cavity. A beam-splitter is used for outcoupling a fraction of the amplified power and recirculate the remainder as the intense seed for the next electron beam pulse. The mirrors in the oscillator cavity refocus the seed at the undulator entrance and monochromatize the radiation. In this paper we discuss the optimization of the system for a technologically relevant example at 1 μ\mum using a 1~MHz repetition rate electron linac starting with an externally injected igniter pulse.Comment: 24 pages, 13 figure

    Viewing functions as token sequences to highlight similarities in source code

    Get PDF
    International audienceThe detection of similarities in source code has applications not only in software re-engineering (to eliminate redundancies) but also in software plagiarism detection. This latter can be a challenging problem since more or less extensive edits may have been performed on the original copy: insertion or removal of useless chunks of code, rewriting of expressions, transposition of code, inlining and outlining of functions, etc. In this paper, we propose a new similarity detection technique not only based on token sequence matching but also on the factorization of the function call graphs. The factorization process merges shared chunks (factors) of codes to cope, in particular, with inlining and outlining. The resulting call graph offers a view of the similarities with their nesting relations. It is useful to infer metrics quantifying similarity at a function level

    Some characterizations of gamma and beta-acyclicity of hypergraphs

    Get PDF
    The notions of γ\gamma and β\beta-acyclicity are two classic generalizations of the acyclicity of graphs to hypergraphs. They satisfy the property that, if a hypergraph is γ\gamma-acyclic then it is β\beta-acyclic, and the reverse is false. We give some new properties concerning these notions. First we show that we can strictly insert another notion of acyclicity between them, namely the fact of having a join tree with disjoint branches. And if we add a condition on the existence of such a join tree, we obtain a notion equivalent to γ\gamma-acyclicity. Then we present two characterizations, consisting in applying successively a small set of rules, deciding γ\gamma and β\beta-acyclicity respectively

    A new species of shrimp of the genus <i>Anachlorocurtis</i> Hayashi, 1975 from the Red Sea, with range extension of <i>A. commensalis</i> Hayashi, 1975 (Crustacea, Decapoda, Pandalidae)

    Get PDF
    A new species of pandalid shrimp Anachlorocurtis occidentalis sp. n., associated with antipatharian corals, is described and illustrated from the north-eastern Red Sea. This new species is closely related to Anachlorocurtis commensalis Hayashi, 1975, the only other species in the genus, and can be distinguished by the more slender body and appendages; the carapace with 3 large, and one small, subtriangular lobes in the middorsal line; a flattened dorsal outline of the third abdominal segment; the sixth abdominal segment twice as long as fifth one; propodi of the ambulatory pereiopods bearing only a single posterior spinule; and harbouring 3–5 pairs of dorsolateral spines on the telson. A revised generic diagnosis is provided here to accommodate the present new species. The genetic divergence of mitochondrial gene cytochrome c oxidase subunit I (COI) between Anachlorocurtis occidentalis sp. n., and A. commensalis is 15.2–15.4%. Molecular analysis also confirmed a sister position of the genus Anachlorocurtis to Miropandalus. The present records of A. commensalis from Taiwan constitute an extension of the known range of the species

    Attribute Grammars and Folds : Generic Control Operators

    Get PDF
    Projet OSCARGeneric control operators, such as \emph{fold}, have been introduced in functional programming to increase the power and applicability of data-structure-based transformations. This is achieved by making the structure of the data more explicit in program specifications. We argue that this very important property is one of the original concepts of attribute grammars. In this paper, we informally show the similarities between the fold formalism and attribute grammar specifications. We also compare their respective method to eliminate the intermediate data structures introduced by function composition (notion of deforestation or fusion): the normalization algorithm for programs expressed with folds and the descriptional composition of attribute grammars. Rather than identify the best way to achieve deforestation, the main goal of this paper is merely to intuitively present two programming paradigms to each other's supporting community and provide an unbiased account of their similarities and differences, in the hope that this leads to fruitful cross-fertilization

    Hypergraph Acyclicity and Propositional Model Counting

    Full text link
    We show that the propositional model counting problem #SAT for CNF- formulas with hypergraphs that allow a disjoint branches decomposition can be solved in polynomial time. We show that this class of hypergraphs is incomparable to hypergraphs of bounded incidence cliquewidth which were the biggest class of hypergraphs for which #SAT was known to be solvable in polynomial time so far. Furthermore, we present a polynomial time algorithm that computes a disjoint branches decomposition of a given hypergraph if it exists and rejects otherwise. Finally, we show that some slight extensions of the class of hypergraphs with disjoint branches decompositions lead to intractable #SAT, leaving open how to generalize the counting result of this paper
    corecore