• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 60
  • 20
  • 10
  • 4
  • 1
  • 1
  • Tagged with
  • 116
  • 116
  • 41
  • 39
  • 29
  • 24
  • 22
  • 19
  • 17
  • 17
  • 14
  • 14
  • 13
  • 12
  • 12
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
81

Meta-IM: Meta-Model Evolution for Transforming and Adapting Instance Models

Arora, Kabir 07 July 2023 (has links)
No description available.
82

Mining Software Repositories to Support Software Evolution

Kagdi, Huzefa H. 15 July 2008 (has links)
No description available.
83

Techniques for Automated Software Evolution

Khatchadourian, Raffi Takvor 20 July 2011 (has links)
No description available.
84

AURA : a hybrid approach to identify framework evolution

Wu, Wei 02 1900 (has links)
Les cadriciels et les bibliothèques sont indispensables aux systèmes logiciels d'aujourd'hui. Quand ils évoluent, il est souvent fastidieux et coûteux pour les développeurs de faire la mise à jour de leur code. Par conséquent, des approches ont été proposées pour aider les développeurs à migrer leur code. Généralement, ces approches ne peuvent identifier automatiquement les règles de modification une-remplacée-par-plusieurs méthodes et plusieurs-remplacées-par-une méthode. De plus, elles font souvent un compromis entre rappel et précision dans leur résultats en utilisant un ou plusieurs seuils expérimentaux. Nous présentons AURA (AUtomatic change Rule Assistant), une nouvelle approche hybride qui combine call dependency analysis et text similarity analysis pour surmonter ces limitations. Nous avons implanté AURA en Java et comparé ses résultats sur cinq cadriciels avec trois approches précédentes par Dagenais et Robillard, M. Kim et al., et Schäfer et al. Les résultats de cette comparaison montrent que, en moyenne, le rappel de AURA est 53,07% plus que celui des autre approches avec une précision similaire (0,10% en moins). / Software frameworks and libraries are indispensable to today's software systems. As they evolve, it is often time-consuming for developers to keep their code up-to-date. Approaches have been proposed to facilitate this. Usually, these approaches cannot automatically identify change rules for one-replaced-by-many and many-replaced-by-one methods, and they trade off recall for higher precision using one or more experimentally-evaluated thresholds. We introduce AURA (AUtomatic change Rule Assistant), a novel hybrid approach that combines call dependency and text similarity analyses to overcome these limitations. We implement it in a Java system and compare it on five frameworks with three previous approaches by Dagenais and Robillard, M. Kim et al., and Schäfer et al. The comparison shows that, on average, the recall of AURA is 53.07% higher while its precision is similar (0.10% lower).
85

Intégration de la visualisation à multiples vues pour le développement du logiciel

Langelier, Guillaume 12 1900 (has links)
Le développement du logiciel actuel doit faire face de plus en plus à la complexité de programmes gigantesques, élaborés et maintenus par de grandes équipes réparties dans divers lieux. Dans ses tâches régulières, chaque intervenant peut avoir à répondre à des questions variées en tirant des informations de sources diverses. Pour améliorer le rendement global du développement, nous proposons d'intégrer dans un IDE populaire (Eclipse) notre nouvel outil de visualisation (VERSO) qui calcule, organise, affiche et permet de naviguer dans les informations de façon cohérente, efficace et intuitive, afin de bénéficier du système visuel humain dans l'exploration de données variées. Nous proposons une structuration des informations selon trois axes : (1) le contexte (qualité, contrôle de version, bogues, etc.) détermine le type des informations ; (2) le niveau de granularité (ligne de code, méthode, classe, paquetage) dérive les informations au niveau de détails adéquat ; et (3) l'évolution extrait les informations de la version du logiciel désirée. Chaque vue du logiciel correspond à une coordonnée discrète selon ces trois axes, et nous portons une attention toute particulière à la cohérence en naviguant entre des vues adjacentes seulement, et ce, afin de diminuer la charge cognitive de recherches pour répondre aux questions des utilisateurs. Deux expériences valident l'intérêt de notre approche intégrée dans des tâches représentatives. Elles permettent de croire qu'un accès à diverses informations présentées de façon graphique et cohérente devrait grandement aider le développement du logiciel contemporain. / Nowadays, software development has to deal more and more with huge complex programs, constructed and maintained by large teams working in different locations. During their daily tasks, each developer may have to answer varied questions using information coming from different sources. In order to improve global performance during software development, we propose to integrate into a popular integrated development environment (Eclipse) our new visualization tool (VERSO), which computes, organizes, displays and allows navigation through information in a coherent, effective, and intuitive way in order to benefit from the human visual system when exploring complex data. We propose to structure information along three axes: (1) context (quality, version control, etc.) determines the type of information; (2) granularity level (code line, method, class, and package) determines the appropriate level of detail; and (3) evolution extracts information from the desired software version. Each software view corresponds to a discrete coordinate according to these three axes. Coherence is maintained by navigating only between adjacent views, which reduces cognitive effort as users search information to answer their questions. Two experiments involving representative tasks have validated the utility of our integrated approach. The results lead us to believe that an access to varied information represented graphically and coherently should be highly beneficial to the development of modern software.
86

Migration des applications orientées-objet vers celles à base de composants / Migrating Object Oriented Applications into Component-Based ones

Al Shara, Zakarea 17 November 2016 (has links)
Les applications orientées objet de tailles significatives ont des dépendances complexes et nombreuses, et généralement ne disposent pas d'architectures logicielles explicites. Par conséquent, elles sont difficiles à maintenir, et certaines parties de ces applications sont difficiles à réutiliser. Le paradigme de développement à base de composants est né pour améliorer ces aspects et pour soutenir la maintenabilité et la réutilisation efficaces. Il offre une meilleure compréhensibilité à travers une vue d'architecture de haut niveau. Ainsi, la migration des applications orientées objet à celles à base de composants contribuera à améliorer ces caractéristiques, et de soutenir l'évolution des logiciels et la future maintenance.Dans cette thèse, nous proposons une approche pour transformer automatiquement les applications orientées objet à celles à base de composants. Plus particulièrement, l'entrée de l'approche est le résultat fourni par la récupération de l'architecture logicielle: une description de l'architecture à base de composants. Ainsi, notre approche transforme le code source orienté objet afin de produire des composants déployables. Nous nous concentrons sur la transformation des dépendances orientées objet en celles basées sur les interfaces. De plus, nous passons du concept d'objet au concept d'instance d'un composant. En outre, nous fournissons une approche de transformation déclarative en utilisant des langages dédiés. Nous démontrons notre approche sur de nombreux modèles de composants bien connus. / Large object-oriented applications have complex and numerousdependencies, and usually do not have explicitsoftware architectures. Therefore they are hard to maintain, and parts of themare difficult to reuse. Component-based development paradigm emergedfor improving these aspects and for supporting effectivemaintainability and reuse. It provides better understandabilitythrough a high-level architecture view of the application. Thus, migrating object-oriented applications to component-based ones will contribute to improve these characteristics, and support software evolution and future maintenance.In this dissertation, we propose an approach to automatically transform object-oriented applications tocomponent-based ones. More particularly, the input of the approach isthe result provided by software architecture recovery: acomponent-based architecture description. Then, our approachtransforms the object-oriented source code in order to producedeployable components. We focus on transforming object-oriented dependencies into interface-based ones. Moreover, we move from the concept of object to the concept of component instance. Furthermore, we provide a declarative transformation approach using domain-specific languages. We demonstrate our approach on many well-known component models.
87

Contribution à la multi-modélisation des applications distribuées pour le contrôle de l'évolution des logiciels / Contribution to the multi-modeling of distributed applications for software evolution control

Ahmad, Adeel 09 December 2011 (has links)
Le contrôle de l'évolution des logiciels exige une compréhension profonde des changements et leur impact sur les différents artefacts du système. Nous proposons une approche de multi-modélisation pour l'analyse d'impact du changement pour une compréhension des effets des modifications prévus ou réels dans les systèmes distribués. Ce travail consiste à élaborer une modélisation des artefacts logiciels et de leur différents liens d'interdépendance pour construire un système à base de connaissance permettant, entre autres, d'assister les développeurs et les chargés de l'évolution des logiciels pour étblir une évaluation a priori de l'impact des modifications.La modélisation que nous élaborons intègre deux descriptions majeures des logiciels, dans un premier temps, la description structurelle sous-jacente qui englobe l'ensemble des niveaux granulaires et l'abstraction des constituants logiciels, et ensuite la description qualitative conçue pour s'intégrer à la description précédente. Deux modèles, d'abord élaborés individuellement pour les deux descriptions respectives, ont été intégrés ou mis en correspondance dans l'objectif d'étudier l'impact de toute modification et sa potentielle propagation à travers les constituants logiciels concernés. Lors de chaque modification, il devient alors possible d'établir un bilan qualitatif de son impact. La modélisation intégrée est élaborée pour se prêter à un raisonnement à base de règles expertes. La modélisation proposée est en cours d'expérimentation et validation à travers le développement d'une plate-forme d'implémentation basée sur l'environnement Eclipse. / The software evolution control requires a complete understanding of the changes and their impact on the various systems artifacts. We propose a multi-modeling approach for the change impact analysis to provide assistance in understanding the effects of projected or actual changes in distributed software systems. This work elaborate the modeling of software artifacts along with their various interdependencies to build a knowledge-based system, which allows, among others, an assistance for the software developers or maintenance engineers to establish an a priori evaluation of impact of changes. The model we develop integrates two major descriptions of software, at first, the underlying structural description that encompasses the levels of granularity and abstraction of software artifacts, and then the qualitative description designed to integrate the structural description. Initially, the formal models are designed separately for the respective descriptions, and then these are integrated for the objective to study the change impact and its potential propagation through the affected software artifacts. For a change, it is important to establish a qualitative assessment of its impact. The integrated modeling leads to a reasoning based on expert rules. The proposed model is being tested and validated through the development of a platform, implemented in the Eclipse environment.
88

[en] A SOFTWARE COMPONENT MODEL WITH SUPPORT FOR MULTIPLE VERSIONS / [pt] UM MODELO DE COMPONENTES DE SOFTWARE COM SUPORTE A MÚLTIPLAS VERSÕES

HUGO ROENICK 08 September 2011 (has links)
[pt] Diversos modelos de componentes de software para sistemas distribuídos já foram propostos pela indústria e pela academia, tais como Fractal, CCM, COM, OpenCOM, LuaCCM, e SCS. Uma das principais vantagens comumente atribuídas à abordagem de desenvolvimento baseado em componentes de software é o melhor suporte à extensibilidade independente (independent extensibility). Entretanto, a gerencia de múltiplas versões de componentes ainda é um grande desafio, especialmente quando não é possível atualizar todos os componentes do sistema ao mesmo tempo e passa a ser necessária a coexistencia, em um mesmo sistema, de diferentes versões de um mesmo componente. Neste trabalho, procuramos identificar os pontos fundamentais para oferecer suporte a múltiplas versões de interfaces de componentes de software e propor um modelo que ofereça esse suporte. Como avaliação da proposta, iremos estender o sistema de componentes SCS para dar suporte ao modelo proposto. Com base no histórico de evolução de diferentes componentes SCS utilizados em uma aplicação real, realizaremos experimentos com a nova versão do SCS para verificar a eficácia do modelo proposto. / [en] Several software component models for distributed systems have been proposed by the industry and academy, such as Fractal, CCM, COM, OpenCOM, LuaCCM, and SCS. One of the greatest advantages of component-based development is the better support for independent extensibility. However, managing multiple versions of components is still a challenge, especially when it’s not possible to update all the system’s components at the same time. Because of that, different versions of the same component interface shall be required to coexist in the same system. In this work, we try to identify the key points to support multiple versions of component interfaces and propose a model that offers this support. To evaluate the proposed model, we will extend the SCS component system to support it. Based on the evolution historic of different SCS components used in a real application, we will conduct experiments with the new version of SCS to verify the effectiveness of the proposed model.
89

Gestion des bibliothèques tierces dans un contexte de maintenance logicielle / Third-party libraries management in a software maintenance context

Teyton, Cédric 26 September 2014 (has links)
Les logiciels dépendent de bibliothèques tierces pour réduire les coûts liés à leur développement et à leur maintenance. Elles proposent un ensemble de fonctionnalités robustes dont les développeurs peuvent tirer parti depuis une interface de programmation. Cependant, cette forte dépendance entre un logiciel et ses bibliothèques oblige les développeurs à reconsidérer leur rôle lorsque le logiciel évolue. Dans cette thèse, nous identifions plusieurs problématiques impliquant les bibliothèques tierces dans un contexte de maintenance logicielle. Plus particulièrement, une bibliothèque peut ne plus répondre aux besoins d’un logiciel et doit être remplacée par une nouvelle.Nous nommons cette opération une migration de bibliothèque.Nous soulevons dans ce contexte trois points qui caractérisent les difficultés rencontrées par les développeurs. Vers quelle bibliothèque migrer ? Comment appliquer la migration ? Avec l’aide de quels développeurs ? Cette thèse discute de solutions et apporte des contributions autour de ces problèmes. Nous présentons plusieurs approches et les évaluons lors de différents cas d’étude. L’analyse de l’évolution logicielle sera notre support de travail, dont la méthodologie est basée sur l’observation des changements de logiciels. Nous décrivons les limites actuelles de nos contribu-tions et ouvrons des perspectives futures pour enrichir l’état de l’art dans ce domaine / Software depend on third-party libraries to reduce development and maintenance costs. Developers have access to robust functionalities through an application programming interface designed by these libraries. However, due to the strong relationship with these libraries, developers have to reconsider their position when the software evolves. In this thesis, we identify several re-search problems involving these third-party libraries in a context of software maintenance. More specifically, a library may not satisfy the software new requirements and has to be replaced by anew one. We call this operation a library migration.We leverage three points that characterize the impediments met by developers in this situation.To which library should they migrate ? How to migrate their software ? Who can help them in this case ? This thesis suggests answers and exposes several contributions to these problems. We define three approaches that are evaluated through several case studies. To achieve this work, weuse a methodology based on software evolution analysis to observe and understand how software change. We describe numerous perspectives to overcome the current limitations of our solutions.
90

Analyzing the Conceptual Integrity of Computing Applications Through Ontological Excavation and Analysis

Hsi, Idris 19 July 2005 (has links)
In the world of commercial computing, consumers are being inundated with baroque, bloated, and difficult-to-use computing applications, tools that use computational methods and technologies to perform tasks. Market forces demand that new versions of these applications implement more features, the user-accessible behaviors and services implemented by the application, than their predecessors or competitors. Ensuring that planned features required for market competitiveness enhance a computing application without these side effects first requires that we understand how these features contribute to the overall design and conceptual integrity of the application While conceptual integrity affects all aspect of the application, we are primarily interested in how an applications user-accessible features have been designed and implemented. To this end, we have developed a research framework, methodologies, and artifacts for measuring the conceptual integrity of a computing artifact from its theory of the world or its ontology. We use conceptual coherence, which we define as the degree to which an applications concepts are tightly related, as a first approximation for conceptual integrity. We claim the following: any computing application has a central or core set of concepts that are essential to that applications ontology and can be identified through analytical means; and concepts that are not essential to an applications ontology either exist to support core concepts or are peripheral to the ontology. Peripheral concepts reduce an applications conceptual coherence. We have developed the method of ontological excavation to identify the concepts in a computing application and model them as an ontology expressed as a semantic network. To identify core and peripheral concepts and to measure an ontologys conceptual coherence, we developed methodologies for ontological analysis. If usefulness depends on the conceptual integrity of an applications ontology such that it ensures high fitness to a problem domain, then we would expect that users solving problems in that domain will invoke the concepts integral to the solution more often than those concepts that do not. Thus, to validate our structural measures, we claim the following: the probable use of the application will invoke core concepts more frequently than peripheral concepts in the ontology.

Page generated in 0.081 seconds