929 resultados para source code analysis


Relevância:

90.00% 90.00%

Publicador:

Resumo:

Poster at Open Repositories 2014, Helsinki, Finland, June 9-13, 2014

Relevância:

90.00% 90.00%

Publicador:

Resumo:

We have developed a software called pp-Blast that uses the publicly available Blast package and PVM (parallel virtual machine) to partition a multi-sequence query across a set of nodes with replicated or shared databases. Benchmark tests show that pp-Blast running in a cluster of 14 PCs outperformed conventional Blast running in large servers. In addition, using pp-Blast and the cluster we were able to map all human cDNAs onto the draft of the human genome in less than 6 days. We propose here that the cost/benefit ratio of pp-Blast makes it appropriate for large-scale sequence analysis. The source code and configuration files for pp-Blast are available at http://www.ludwig.org.br/biocomp/tools/pp-blast.

Relevância:

90.00% 90.00%

Publicador:

Resumo:

The pipeline for macro- and microarray analyses (PMmA) is a set of scripts with a web interface developed to analyze DNA array data generated by array image quantification software. PMmA is designed for use with single- or double-color array data and to work as a pipeline in five classes (data format, normalization, data analysis, clustering, and array maps). It can also be used as a plugin in the BioArray Software Environment, an open-source database for array analysis, or used in a local version of the web service. All scripts in PMmA were developed in the PERL programming language and statistical analysis functions were implemented in the R statistical language. Consequently, our package is a platform-independent software. Our algorithms can correctly select almost 90% of the differentially expressed genes, showing a superior performance compared to other methods of analysis. The pipeline software has been applied to 1536 expressed sequence tags macroarray public data of sugarcane exposed to cold for 3 to 48 h. PMmA identified thirty cold-responsive genes previously unidentified in this public dataset. Fourteen genes were up-regulated, two had a variable expression and the other fourteen were down-regulated in the treatments. These new findings certainly were a consequence of using a superior statistical analysis approach, since the original study did not take into account the dependence of data variability on the average signal intensity of each gene. The web interface, supplementary information, and the package source code are available, free, to non-commercial users at http://ipe.cbmeg.unicamp.br/pub/PMmA.

Relevância:

90.00% 90.00%

Publicador:

Resumo:

The goal of most clustering algorithms is to find the optimal number of clusters (i.e. fewest number of clusters). However, analysis of molecular conformations of biological macromolecules obtained from computer simulations may benefit from a larger array of clusters. The Self-Organizing Map (SOM) clustering method has the advantage of generating large numbers of clusters, but often gives ambiguous results. In this work, SOMs have been shown to be reproducible when the same conformational dataset is independently clustered multiple times (~100), with the help of the Cramérs V-index (C_v). The ability of C_v to determine which SOMs are reproduced is generalizable across different SOM source codes. The conformational ensembles produced from MD (molecular dynamics) and REMD (replica exchange molecular dynamics) simulations of the penta peptide Met-enkephalin (MET) and the 34 amino acid protein human Parathyroid Hormone (hPTH) were used to evaluate SOM reproducibility. The training length for the SOM has a huge impact on the reproducibility. Analysis of MET conformational data definitively determined that toroidal SOMs cluster data better than bordered maps due to the fact that toroidal maps do not have an edge effect. For the source code from MATLAB, it was determined that the learning rate function should be LINEAR with an initial learning rate factor of 0.05 and the SOM should be trained by a sequential algorithm. The trained SOMs can be used as a supervised classification for another dataset. The toroidal 10×10 hexagonal SOMs produced from the MATLAB program for hPTH conformational data produced three sets of reproducible clusters (27%, 15%, and 13% of 100 independent runs) which find similar partitionings to those of smaller 6×6 SOMs. The χ^2 values produced as part of the C_v calculation were used to locate clusters with identical conformational memberships on independently trained SOMs, even those with different dimensions. The χ^2 values could relate the different SOM partitionings to each other.

Relevância:

90.00% 90.00%

Publicador:

Resumo:

De nos jours, les logiciels doivent continuellement évoluer et intégrer toujours plus de fonctionnalités pour ne pas devenir obsolètes. C'est pourquoi, la maintenance représente plus de 60% du coût d'un logiciel. Pour réduire les coûts de programmation, les fonctionnalités sont programmées plus rapidement, ce qui induit inévitablement une baisse de qualité. Comprendre l’évolution du logiciel est donc devenu nécessaire pour garantir un bon niveau de qualité et retarder le dépérissement du code. En analysant à la fois les données sur l’évolution du code contenues dans un système de gestion de versions et les données quantitatives que nous pouvons déduire du code, nous sommes en mesure de mieux comprendre l'évolution du logiciel. Cependant, la quantité de données générées par une telle analyse est trop importante pour être étudiées manuellement et les méthodes d’analyses automatiques sont peu précises. Dans ce mémoire, nous proposons d'analyser ces données avec une méthode semi automatique : la visualisation. Eyes Of Darwin, notre système de visualisation en 3D, utilise une métaphore avec des quartiers et des bâtiments d'une ville pour visualiser toute l'évolution du logiciel sur une seule vue. De plus, il intègre un système de réduction de l'occlusion qui transforme l'écran de l'utilisateur en une fenêtre ouverte sur la scène en 3D qu'il affiche. Pour finir, ce mémoire présente une étude exploratoire qui valide notre approche.

Relevância:

90.00% 90.00%

Publicador:

Resumo:

This thesis examines the microeconomic consequences of the arrival of open source in the software market. Specifically, it analyzes three features of open source software by using specific models of industrial organization. Open source software is free, and may be modified or duplicated by anyone. The first paper studies the entry of an open source software in a closed source software market. Using a model of horizontal differentiation, the analysis considers a closed source firm's investment in the quality of its software. The introduction of open source on the market reduces the firm's investment in quality and increases the price of its software. Moreover, the entry of open source software may reduce consumer welfare. Post-entry by an open source software, the reduction in market share lowers the firm's incentive to invest in quality. The second paper features vertical differentiation to study a monopolist selling supporting product to its software. The study begins by contrasting the supply of support by an open source provider and a closed source vendor. The model shows that in both cases the levels of support offered are the same. In addition, consumer welfare is higher and profit lower under an open source software. Then, the paper considers the competition in the provision of support. Here, the supply of high level support is greater than under a monopolist. Finally, the monopolist adopts a dual licensing strategy to extract more surplus from developers interested in modifying open source software and redistributing the resulting product. This technique, when the developers place high value on the source code, generates more profit if the monopolist chooses to publish as open source rather than closed source. The last paper studies how a closed source firm is affected by the introduction of an open source benefiting from contributions by users. A vertical differentiation model is used, and reveals that, when contribution of users is present, the closed source vendor may lower its price to a level where it forces the open source out of the market. The firm's lower price not only increases demand for its software, but also induces consumers into switching from open to closed source software therefore reducing the contribution of users.

Relevância:

90.00% 90.00%

Publicador:

Resumo:

La compréhension des objets dans les programmes orientés objet est une tâche impor- tante à la compréhension du code. JavaScript (JS) est un langage orienté-objet dyna- mique, et son dynamisme rend la compréhension du code source très difficile. Dans ce mémoire, nous nous intéressons à l’analyse des objets pour les programmes JS. Notre approche construit de façon automatique un graphe d’objets inspiré du diagramme de classes d’UML à partir d’une exécution concrète d’un programme JS. Le graphe résul- tant montre la structure des objets ainsi que les interactions entre eux. Notre approche utilise une transformation du code source afin de produire cette in- formation au cours de l’exécution. Cette transformation permet de recueillir de l’infor- mation complète au sujet des objets crées ainsi que d’intercepter toutes les modifications de ces objets. À partir de cette information, nous appliquons plusieurs abstractions qui visent à produire une représentation des objets plus compacte et intuitive. Cette approche est implémentée dans l’outil JSTI. Afin d’évaluer l’utilité de l’approche, nous avons mesuré sa performance ainsi que le degré de réduction dû aux abstractions. Nous avons utilisé les dix programmes de réfé- rence de V8 pour cette comparaison. Les résultats montrent que JSTI est assez efficace pour être utilisé en pratique, avec un ralentissement moyen de 14x. De plus, pour 9 des 10 programmes, les graphes sont suffisamment compacts pour être visualisés. Nous avons aussi validé l’approche de façon qualitative en inspectant manuellement les graphes gé- nérés. Ces graphes correspondent généralement très bien au résultat attendu. Mots clés: Analyse de programmes, analyse dynamique, JavaScript, profilage.

Relevância:

90.00% 90.00%

Publicador:

Resumo:

Nous proposons une approche qui génère des scénarios de visualisation à partir des descriptions de tâches d'analyse de code. La dérivation de scénario est considérée comme un processus d'optimisation. Dans ce contexte, nous évaluons différentes possibilités d'utilisation d'un outil de visualisation donnée pour effectuer la tâche d'analyse, et sélectionnons le scénario qui nécessite le moins d'effort d'analyste. Notre approche a été appliquée avec succès à diverses tâches d'analyse telles que la détection des défauts de conception.

Relevância:

90.00% 90.00%

Publicador:

Resumo:

This chapter presents a dual perspective on the paratextual apparatus of a work of electronic literature, The Unknown: The Original Great American Hypertext Novel by William Gillespie, Scott Rettberg, Dirk Stratton, and Frank Marquardt. Approaches from literature studies and information science are combined to offer qualitative content analyses and close readings of the table of contents, titular apparatus, comments hidden in the source code, and other paratextual elements, in relation to the narrative. Findings indicate that the work's paratextual content presents inconsistencies and contradictions, both in terms of the use of the paratextual structure and of the information conveyed. The paratextual elements are analyzed through the lens of Gérard Genette's theory, as outlined in Paratexts: Thresholds of Interpretation, in order to gauge their role and efficiency as identifiers, organizational components, and information providers, as well as their literary effect. The value of the theory as an interdisciplinary tool is also discussed.

Relevância:

90.00% 90.00%

Publicador:

Resumo:

L’objectif principal de cette thèse est d’identifier les étoiles de faible masse et naines brunes membres d’associations cinématiques jeunes du voisinage solaire. Ces associations sont typiquement âgées de moins de 200 millions d’années et regroupent chacune un ensemble d’étoiles s’étant formées au même moment et dans un même environnement. La majorité de leurs membres d'environ plus de 0.3 fois la masse du Soleil sont déjà connus, cependant les membres moins massifs (et moins brillants) nous échappent encore. Leur identification permettra de lever le voile sur plusieurs questions fondamentales en astrophysique. En particulier, le fait de cibler des objets jeunes, encore chauds et lumineux par leur formation récente, permettra d’atteindre un régime de masses encore peu exploré, jusqu'à seulement quelques fois la masse de Jupiter. Elles nous permettront entre autres de contraindre la fonction de masse initiale et d'explorer la connection entre naines brunes et exoplanètes, étant donné que les moins massives des naines brunes jeunes auront des propriétés physiques très semblables aux exoplanètes géantes gazeuses. Pour mener à bien ce projet, nous avons adapté l'outil statistique BANYAN I pour qu'il soit applicable aux objets de très faibles masses en plus de lui apporter plusieurs améliorations. Nous avons entre autres inclus l'utilisation de deux diagrammes couleur-magnitude permettant de différencier les étoiles de faible masse et naines brunes jeunes à celles plus vieilles, ajouté l'utilisation de probabilités a priori pour rendre les résultats plus réalistes, adapté les modèles spatiaux et cinématiques des associations jeunes en utilisant des ellipsoïdes gaussiennes tridimensionnelles dont l'alignement des axes est libre, effectué une analyse Monte Carlo pour caractériser le taux de faux-positifs et faux-négatifs, puis revu la structure du code informatique pour le rendre plus efficace. Dans un premier temps, nous avons utilisé ce nouvel algorithme, BANYAN II, pour identifier 25 nouvelles candidates membres d'associations jeunes parmi un échantillon de 158 étoiles de faible masse (de types spectraux > M4) et naines brunes jeunes déjà connues. Nous avons ensuite effectué la corrélation croisée de deux catalogues couvrant tout le ciel en lumière proche-infrarouge et contenant ~ 500 millions d’objets célestes pour identifier environ 100 000 candidates naines brunes et étoiles de faible masse du voisinage solaire. À l'aide de l'outil BANYAN II, nous avons alors identifié quelques centaines d'objets appartenant fort probablement à une association jeune parmi cet échantillon et effectué un suivi spectroscopique en lumière proche-infrarouge pour les caractériser. Les travaux présentés ici ont mené à l'identification de 79 candidates naines brunes jeunes ainsi que 150 candidates étoiles de faible masse jeunes, puis un suivi spectroscopique nous a permis de confirmer le jeune âge de 49 de ces naines brunes et 62 de ces étoiles de faible masse. Nous avons ainsi approximativement doublé le nombre de naines brunes jeunes connues, ce qui a ouvert la porte à une caractérisation statistique de leur population. Ces nouvelles naines brunes jeunes représentent un laboratoire idéal pour mieux comprendre l'atmosphère des exoplanètes géantes gazeuses. Nous avons identifié les premiers signes d’une remontée dans la fonction de masse initiale des naines brunes aux très faibles masses dans l'association jeune Tucana-Horologium, ce qui pourrait indiquer que l’éjection d’exoplanètes joue un rôle important dans la composition de leur population. Les résultats du suivi spectroscopique nous ont permis de construire une séquence empirique complète pour les types spectraux M5-L5 à l'âge du champ, à faible (β) et très faible (γ) gravité de surface. Nous avons effectué une comparaison de ces données aux modèles d'évolution et d'atmosphère, puis nous avons construit un ensemble de séquences empiriques de couleur-magnitude et types spectraux-magnitude pour les naines brunes jeunes. Finalement, nous avons découvert deux nouvelles exoplanètes par un suivi en imagerie directe des étoiles jeunes de faible masse identifiées dans ce projet. La future mission GAIA et le suivi spectroscopique complet des candidates présentées dans cette thèse permettront de confirmer leur appartenance aux associations jeunes et de contraindre la fonction de masse initiale dans le régime sous-stellaire.

Relevância:

90.00% 90.00%

Publicador:

Resumo:

Genetic programming is known to provide good solutions for many problems like the evolution of network protocols and distributed algorithms. In such cases it is most likely a hardwired module of a design framework that assists the engineer to optimize specific aspects of the system to be developed. It provides its results in a fixed format through an internal interface. In this paper we show how the utility of genetic programming can be increased remarkably by isolating it as a component and integrating it into the model-driven software development process. Our genetic programming framework produces XMI-encoded UML models that can easily be loaded into widely available modeling tools which in turn posses code generation as well as additional analysis and test capabilities. We use the evolution of a distributed election algorithm as an example to illustrate how genetic programming can be combined with model-driven development. This example clearly illustrates the advantages of our approach – the generation of source code in different programming languages.

Relevância:

90.00% 90.00%

Publicador:

Resumo:

A universal systems design process is specified, tested in a case study and evaluated. It links English narratives to numbers using a categorical language framework with mathematical mappings taking the place of conjunctions and numbers. The framework is a ring of English narrative words between 1 (option) and 360 (capital); beyond 360 the ring cycles again to 1. English narratives are shown to correspond to the field of fractional numbers. The process can enable the development, presentation and communication of complex narrative policy information among communities of any scale, on a software implementation known as the "ecoputer". The information is more accessible and comprehensive than that in conventional decision support, because: (1) it is expressed in narrative language; and (2) the narratives are expressed as compounds of words within the framework. Hence option generation is made more effective than in conventional decision support processes including Multiple Criteria Decision Analysis, Life Cycle Assessment and Cost-Benefit Analysis.The case study is of a participatory workshop in UK bioenergy project objectives and criteria, at which attributes were elicited in environmental, economic and social systems. From the attributes, the framework was used to derive consequences at a range of levels of precision; these are compared with the project objectives and criteria as set out in the Case for Support. The design process is to be supported by a social information manipulation, storage and retrieval system for numeric and verbal narratives attached to the "ecoputer". The "ecoputer" will have an integrated verbal and numeric operating system. Novel design source code language will assist the development of narrative policy. The utility of the program, including in the transition to sustainable development and in applications at both community micro-scale and policy macro-scale, is discussed from public, stakeholder, corporate, Governmental and regulatory perspectives.

Relevância:

90.00% 90.00%

Publicador:

Resumo:

Stora och komplexa kodbaser med bristfällig kodförståelse är ett problem som blir allt vanligare bland företag idag. Bristfällig kodförståelse resulterar i längre tidsåtgång vid underhåll och modifiering av koden, vilket för ett företag leder till ökade kostnader. Clean Code anses enligt somliga vara lösningen på detta problem. Clean Code är en samling riktlinjer och principer för hur man skriver kod som är enkel att förstå och underhålla. Ett kunskapsglapp identifierades vad gäller empirisk data som undersöker Clean Codes påverkan på kodförståelse. Studiens frågeställning var: Hur påverkas förståelsen vid modifiering av kod som är refaktoriserad enligt Clean Code principerna för namngivning och att skriva funktioner? För att undersöka hur Clean Code påverkar kodförståelsen utfördes ett fältexperiment tillsammans med företaget CGM Lab Scandinavia i Borlänge, där data om tidsåtgång och upplevd förståelse hos testdeltagare samlades in och analyserades. Studiens resultat visar ingen tydlig förbättring eller försämring av kodförståelsen då endast den upplevda kodförståelsen verkar påverkas. Alla testdeltagare föredrar Clean Code framför Dirty Code även om tidsåtgången inte påverkas. Detta leder fram till slutsatsen att Clean Codes effekter kanske inte är omedelbara då utvecklare inte hunnit anpassa sig till Clean Code, och därför inte kan utnyttja det till fullo. Studien ger en fingervisning om Clean Codes potential att förbättra kodförståelsen.

Relevância:

90.00% 90.00%

Publicador:

Resumo:

Checking the conformity between implementation and design rules in a system is an important activity to try to ensure that no degradation occurs between architectural patterns defined for the system and what is actually implemented in the source code. Especially in the case of systems which require a high level of reliability is important to define specific design rules for exceptional behavior. Such rules describe how exceptions should flow through the system by defining what elements are responsible for catching exceptions thrown by other system elements. However, current approaches to automatically check design rules do not provide suitable mechanisms to define and verify design rules related to the exception handling policy of applications. This paper proposes a practical approach to preserve the exceptional behavior of an application or family of applications, based on the definition and runtime automatic checking of design rules for exception handling of systems developed in Java or AspectJ. To support this approach was developed, in the context of this work, a tool called VITTAE (Verification and Information Tool to Analyze Exceptions) that extends the JUnit framework and allows automating test activities to exceptional design rules. We conducted a case study with the primary objective of evaluating the effectiveness of the proposed approach on a software product line. Besides this, an experiment was conducted that aimed to realize a comparative analysis between the proposed approach and an approach based on a tool called JUnitE, which also proposes to test the exception handling code using JUnit tests. The results showed how the exception handling design rules evolve along different versions of a system and that VITTAE can aid in the detection of defects in exception handling code

Relevância:

90.00% 90.00%

Publicador:

Resumo:

Mainstream programming languages provide built-in exception handling mechanisms to support robust and maintainable implementation of exception handling in software systems. Most of these modern languages, such as C#, Ruby, Python and many others, are often claimed to have more appropriated exception handling mechanisms. They reduce programming constraints on exception handling to favor agile changes in the source code. These languages provide what we call maintenance-driven exception handling mechanisms. It is expected that the adoption of these mechanisms improve software maintainability without hindering software robustness. However, there is still little empirical knowledge about the impact that adopting these mechanisms have on software robustness. This work addresses this gap by conducting an empirical study aimed at understanding the relationship between changes in C# programs and their robustness. In particular, we evaluated how changes in the normal and exceptional code were related to exception handling faults. We applied a change impact analysis and a control flow analysis in 100 versions of 16 C# programs. The results showed that: (i) most of the problems hindering software robustness in those programs are caused by changes in the normal code, (ii) many potential faults were introduced even when improving exception handling in C# code, and (iii) faults are often facilitated by the maintenance-driven flexibility of the exception handling mechanism. Moreover, we present a series of change scenarios that decrease the program robustness