36 research outputs found

    Spoon: Program Analysis and Transformation in Java

    Get PDF
    In this research report, we present Spoon, a framework for program transformation and static analysis in Java. More precisely, Spoon is an open and extensible Java compiler, written in pure Java by using Compile-time reflection techniques. We take advantage of the new features added by Java 5, and particularly of annotations and generics. Using annotations within the Spoon framework allows the programmer to extend the Java language without defining new syntactic elements, and in such a way that it is naturally supported by IDEs for Java 5 and greater. Generics, as a priceless complement, allow for the well-typing of Spoon programs that implement the programmers' language extensions. Enforcing typing naturally provides better IDE support (such as static checks, completion, documentation, and navigation), and also allows us to define a pure Java template mechanism, which we use as a tool to define well-typed and straightforward program transformations. In addition to its basic transformation capabilities, Spoon comes with a partial evaluation engine that is used to calculate the control flow of the program and to simplify the results of template-based transformations for correctness, optimization, and readability. In order to demonstrate the usability and usefulness of our framework, we present three applications, which have been chosen to cover most of Spoon's features: a translator from Java 1.4 programs into well-typed Java 5 programs, an efficient template-based AOP extension, and an automatic implementation and validation of the visitor pattern

    Macchiato : vers un systĂšme de panier unique pour le e-commerce

    Get PDF
    JournĂ©es du GDR GPLNational audienceLe e-commerce est un domaine qui a explosĂ© ces derniĂšres annĂ©es avec la multiplication des sites de vente en ligne. Cependant, face Ă  cette explosion des sites de e-commerce, l'utilisateur final perd petit Ă  petit ses repĂšres et Ă©prouve les plus grandes difficultĂ©s Ă  trouver les meilleures offres pour ses achats. Les sites de comparaison en ligne--tels que Kelkoo1 --ne sont pas toujours fiables car les rĂ©sultats qu'ils fournissent ne sont pas nĂ©cessairement objectifs et ne prennent pas en compte les prĂ©fĂ©rences de l'utilisateur. Dans ce contexte, Macchiato se prĂ©sente comme une solution de nouvelle gĂ©nĂ©ration des sites de e-commerce, basĂ©e sur les principes de l'Internet des Objets. En particulier, Macchiato vise Ă  mettre l'utilisateur au cƓur du systĂšme en lui donnant la capacitĂ© de composer des services personnalisĂ©s pour mieux rĂ©pondre Ă  ses besoins. Pour ce faire, dans Macchiato, les services et les produits sont exposĂ©s sous la forme de ressources sĂ©mantiquement riches et connectĂ©es entre elles. Cette richesse sĂ©mantique facilite la comprĂ©hension des informations Ă©changĂ©es entre les services et les utilisateurs tout en renforçant le typage des compositions de services

    TTC'2015 Case: Refactoring Java Programs using Spoon

    Get PDF
    International audienceTTC'2015 is the 8th Transformation Tool Contest for users and developers of transformation tools. In this paper, we present the use of Spoon, an open-source library to transform and analyze Java source code for the code refactoring track of TTC'2015. We use Spoon to implement pull-up-method and create super-class refactorings. The implementation uses an unmodified revision of Spoon and is done in 125 lines

    Macchiato : vers un systĂšme de panier unique pour le e-commerce

    Get PDF
    JournĂ©es du GDR GPLNational audienceLe e-commerce est un domaine qui a explosĂ© ces derniĂšres annĂ©es avec la multiplication des sites de vente en ligne. Cependant, face Ă  cette explosion des sites de e-commerce, l'utilisateur final perd petit Ă  petit ses repĂšres et Ă©prouve les plus grandes difficultĂ©s Ă  trouver les meilleures offres pour ses achats. Les sites de comparaison en ligne--tels que Kelkoo1 --ne sont pas toujours fiables car les rĂ©sultats qu'ils fournissent ne sont pas nĂ©cessairement objectifs et ne prennent pas en compte les prĂ©fĂ©rences de l'utilisateur. Dans ce contexte, Macchiato se prĂ©sente comme une solution de nouvelle gĂ©nĂ©ration des sites de e-commerce, basĂ©e sur les principes de l'Internet des Objets. En particulier, Macchiato vise Ă  mettre l'utilisateur au cƓur du systĂšme en lui donnant la capacitĂ© de composer des services personnalisĂ©s pour mieux rĂ©pondre Ă  ses besoins. Pour ce faire, dans Macchiato, les services et les produits sont exposĂ©s sous la forme de ressources sĂ©mantiquement riches et connectĂ©es entre elles. Cette richesse sĂ©mantique facilite la comprĂ©hension des informations Ă©changĂ©es entre les services et les utilisateurs tout en renforçant le typage des compositions de services

    Optimiser et RĂ©partir ses Applications Mobiles avec Macchiato

    Get PDF
    National audienceMacchiato permet de dĂ©velopper des applications mobiles performantes, adaptables et pouvant ĂȘtre rĂ©parties tout en Ă©tant Ă©conomes en ressources. Cette plate-forme est agnostique vis Ă  vis de l'environnement d'exĂ©cution. Les applications dĂ©veloppĂ©es s'exĂ©cutent sans modification sur tous les environnements que la plate-forme supporte. Il est possible de distribuer les applications sur les navigateurs Web, sur les navigateurs Web mobiles et sur des serveurs d'applications

    Spoon: A Library for Implementing Analyses and Transformations of Java Source Code

    Get PDF
    update for oadoi on Nov 02 2018International audienceThis paper presents SPOON, a library for the analysis and transformation of Java source code. SPOON enables Java developers to write a large range of domain-specific analyses and transformations in an easy and concise manner. SPOON analyses and transformations are written in plain Java. With SPOON, developers do not need to dive into parsing, to hack a compiler infrastructure, or to master a new formalism

    Genetic determinism of spontaneous masculinisation in XX female rainbow trout: new insights using medium throughput genotyping and whole-genome sequencing

    Get PDF
    International audienceRainbow trout has a male heterogametic (XY) sex determination system controlled by a major sex-determining gene, sdY. Unexpectedly, a few phenotypically masculinised fish are regularly observed in all-female farmed trout stocks. To better understand the genetic determinism underlying spontaneous maleness in XX-rainbow trout, we recorded the phenotypic sex of 20,210 XX-rainbow trout from a French farm population at 10 and 15 months post-hatching. The overall masculinisation rate was 1.45%. We performed two genome-wide association studies (GWAS) on a subsample of 1139 individuals classified as females, intersex or males using either medium-throughput genotyping (31,811 SNPs) or whole-genome sequencing (WGS, 8.7 million SNPs). The genomic heritability of maleness ranged between 0.48 and 0.62 depending on the method and the number of SNPs used for the estimation. At the 31K SNPs level, we detected four QTL on three chromosomes (Omy1, Omy12 and Omy20). Using WGS information, we narrowed down the positions of the two QTL detected on Omy1 to 96 kb and 347 kb respectively, with the second QTL explaining up to 14% of the total genetic variance of maleness. Within this QTL, we detected three putative candidate genes, fgfa8, cyp17a1 and an uncharacterised protein (LOC110527930), which might be involved in spontaneous maleness of XX-female rainbow trout

    Les monocytes CD14+/CD 16+ (marqueurs potentiels de précurseurs ostéoclastiques circulants dans le myélome)

    No full text
    Pour les patients atteints de myĂ©lome multiple, les lĂ©sions ostĂ©olytiques causĂ©es par une activation ostĂ©oclastique excessive sont un problĂšme clinique majeur. Les ostĂ©oclastes sont capables de se diffĂ©rencier in vitro Ă  partir de prĂ©curseurs monocytaires mĂ©dullaires mais Ă©galement Ă  partir de monocytes circulants. Les monocytes sont une entitĂ© polymorphe dotĂ©e de plasticitĂ© et constituĂ©e de diffĂ©rentes sous populations contenant les prĂ©curseurs ostĂ©oclastiques. Nous avons dans ce travail cherchĂ© Ă  mettre en Ă©vidence par cytomĂ©trie en flux une population de prĂ©curseurs ostĂ©oclastiques circulants chez les patients atteints de myĂ©lome multiple en Ă©tudiant la rĂ©partition des sous populations monocytaires CD14+/CD16- et CD14+/CD16+, CD14+/CD5161+ et CD14+/CD115+. Les rĂ©sultats ont ensuite Ă©tĂ© corrĂ©lĂ©s aux paramĂštres clinico-biologiques et confrontĂ©s aux expĂ©riences de diffĂ©renciation cellulaire. L Ă©tude a portĂ© sur 20 patients atteints de myĂ©lome multiple et sur 35 tĂ©moins sains. La population minoritaire CD14+/CD16+ est significativement augmentĂ©e chez les patients atteints de myĂ©lome alors que les CD14+ totaux et les CD14+/CD16- ne diffĂšrent pas entre les deux populations. Le ratio entre les CD16+ et les CD16- est significativement augmentĂ© entre les deux populations. Les deux marqueurs utilisĂ©s (CD51/61 et CD115) ne permettent pas de mettre en Ă©vidence d expression diffĂ©rente entre les deux populations alors que ces marqueurs apparaissent aprĂšs diffĂ©renciation cellulaire minime (24h) Ă  partir de monocytes circulants. Cette Ă©tude montre que les monocytes CD14+/CD16+ peuvent ĂȘtre un reflet des prĂ©curseurs ostĂ©oclastiques circulants au cours du myĂ©lome multiple. Les autres marqueurs ne sont pas utilisables dans le myĂ©lome pour mettre en Ă©vidence ces prĂ©curseurs.AMIENS-BU SantĂ© (800212102) / SudocSudocFranceF

    TTC'2015 Case: Refactoring Java Programs using Spoon

    No full text
    International audienceTTC'2015 is the 8th Transformation Tool Contest for users and developers of transformation tools. In this paper, we present the use of Spoon, an open-source library to transform and analyze Java source code for the code refactoring track of TTC'2015. We use Spoon to implement pull-up-method and create super-class refactorings. The implementation uses an unmodified revision of Spoon and is done in 125 lines
    corecore