Spelling suggestions: "subject:"5oftware evolution"" "subject:"1software evolution""
21 |
NORMALIZING-REFACTORINGS: SIMPLIFYING THE CONSTRUCTION OF SOURCE CODE TRANSFORMATIONSNewman, Christian D. 10 December 2013 (has links)
No description available.
|
22 |
A SOURCE CODE TRANSFORMATION LANGUAGE TO SUPPORT SOFTWARE EVOLUTIONNewman, Christian D. 21 July 2017 (has links)
No description available.
|
23 |
Evolving Legacy System's Features into Fine-grained Components Using Regression Test-CasesMehta, Alok 11 December 2002 (has links)
"Because many software systems used for business today are considered legacy systems, the need for software evolution techniques has never been greater. We propose a novel evolution methodology for legacy systems that integrates the concepts of features, regression testing, and Component-Based Software Engineering (CBSE). Regression test suites are untapped resources that contain important information about the features of a software system. By exercising each feature with its associated test cases using code profilers and similar tools, code can be located and refactored to create components. The unique combination of Feature Engineering and CBSE makes it possible for a legacy system to be modernized quickly and affordably. We develop a new framework to evolve legacy software that maps the features to software components refactored from their feature implementation. In this dissertation, we make the following contributions: First, a new methodology to evolve legacy code is developed that improves the maintainability of evolved legacy systems. Second, the technique describes a clear understanding between features and functionality, and relationships among features using our feature model. Third, the methodology provides guidelines to construct feature-based reusable components using our fine-grained component model. Fourth, we bridge the complexity gap by identifying feature-based test cases and developing feature-based reusable components. We show how to reuse existing tools to aid the evolution of legacy systems rather than re-writing special purpose tools for program slicing and requirement management. We have validated our approach on the evolution of a real-world legacy system. By applying this methodology, American Financial Systems, Inc. (AFS), has successfully restructured its enterprise legacy system and reduced the costs of future maintenance. "
|
24 |
A model-driven architecture based evolution method and its application in an electronic learning systemTian, Yingchun January 2012 (has links)
Software products have been racing against aging problem for most of their lifecycles, and evolution is the most effective and efficient solution to this problem. Model-Driven Architecture (MDA) is a new technique for software product for evolving development and reengineering methods. The main steps for MDA are to establish models in different levels and phases, therefore to solve the challenges of requirement and technology change. However, there is only a standard established by Object Management Group (OMG) but without a formal method and approach. Presently, MDA is widely researched in both industrial and research areas, however, there is still without a smooth approach to realise it especially in electronic learning (e-learning) system due to the following reasons: (1) models’ transformations are hard to realise because of lack of tools, (2) most of existing mature research results are working for business and government services but not education area, and (3) most of existing model-driven researches are based on Model-Driven Development (MDD) but not MDA because of OMG standard’s preciseness. Hence, it is worth to investigate an MDA-based method and approach to improve the existing software development approach for e-learning system. Due to the features of MDA actuality, a MDA-based evolution method and approach is proposed in this thesis. The fundamental theories of this research are OMG’s MDA standard and education pedagogical knowledge. Unified Modelling Language (UML) and Unified Modelling Language Profile are hired to represent the information of software system from different aspects. This study can be divided into three main parts: MDA-based evolution method and approach research, Platform-Independent Model (PIM) to Platform-Specific Model (PSM) transformation development, and MDA-based electronic learning system evolution. Top-down approach is explored to develop models for e-learning system. A transformation approach is developed to generate Computation Independent Model (CIM), Platform-Independent Model (PIM), and Platform-Specific Model (PSM); while a set of transformation rules are defined following MDA standard to support PSM’ s generation. In addition, proposed method is applied in an e-learning system as a case study with the prototype rules support. In the end, conclusions are drawn based on analysis and further research directions are discussed as well. The kernel contributions are the proposed transformation rules and its application in electronic learning system.
|
25 |
Software Quality Evaluation for Evolving Systems in Distributed Development EnvironmentsJabangwe, Ronald January 2015 (has links)
Context: There is an overwhelming prevalence of companies developing software in global software development (GSD) contexts. The existing body of knowledge, however, falls short of providing comprehensive empirical evidence on the implication of GSD contexts on software quality for evolving software systems. Therefore there is limited evidence to support practitioners that need to make informed decisions about ongoing or future GSD projects. Objective: This thesis work seeks to explore changes in quality, as well as to gather confounding factors that influence quality, for software systems that evolve in GSD contexts. Method: The research work in this thesis includes empirical work that was performed through exploratory case studies. This involved analysis of quantitative data consisting of defects as an indicator for quality, and measures that capture software evolution, and qualitative data from company documentations, interviews, focus group meetings, and questionnaires. An extensive literature review was also performed to gather information that was used to support the empirical investigations. Results: Offshoring software development work, to a location that has employees with limited or no prior experience with the software product, as observed in software transfers, can have a negative impact on quality. Engaging in long periods of distributed development with an offshore site and eventually handing over all responsibilities to the offshore site can be an alternative to software transfers. This approach can alleviate a negative effect on quality. Finally, the studies highlight the importance of taking into account the GSD context when investigating quality for software that is developed in globally distributed environments. This helps with making valid inferences about the development settings in GSD projects in relation to quality. Conclusion: The empirical work presented in this thesis can be useful input for practitioners that are planning to develop software in globally distributed environments. For example, the insights on confounding factors or mitigation practices that are linked to quality in the empirical studies can be used as input to support decision-making processes when planning similar GSD projects. Consequently, lessons learned from the empirical investigations were used to formulate a method, GSD-QuID, for investigating quality using defects for evolving systems. The method is expected to help researchers avoid making incorrect inferences about the implications of GSD contexts on quality for evolving software systems, when using defects as a quality indicator. This in turn will benefit practitioners that need the information to make informed decisions for software that is developed in similar circumstances.
|
26 |
A wide spectrum type system for transformation theoryLadkau, Matthias January 2009 (has links)
One of the most difficult tasks a programmer can be confronted with is the migration of a legacy system. Usually, these systems are unstructured, poorly documented and contain complex program logic. The reason for this, in most cases, is an emphasis on raw performance rather than on clean and structured code as well as a long period of applying quick fixes and enhancements rather than doing a proper software reengineering process including a full redesign during major enhancements. Nowadays, the old programming paradigms are becoming an increasingly serious problem. It has been identified that 90% of the costs of a typical software system arise in the maintenance phase. Many companies are simply too afraid of changing their software infrastructure and prefer to continue with principles like "never touch a running system". These companies experience growing pressure to migrate their legacy systems onto newer platforms because the maintenance of such systems is expensive and dangerous as the risk of losing vital parts of sources code or its documentation increases drastically over time. The FermaT transformation system has shown the ability to automatically or semi-automatically restructure and abstract legacy code within a special intermediate language called WSL (Wide Spectrum Language). Unfortunately, the current transformation process only supports the migration of assembler as WSL lacks the ability to handle data types properly. The data structures in assembler are currently directly translated into C data types which involves many assumptional “hard coded” conversions. The absence of an adequate type system for WSL caused several flaws for the whole transformation process and limits its abilities significantly. The main aim of the presented research is to tackle these problems by investigating and formulating how a type system can contribute to a safe and reliable migration of legacy systems. The described research includes the definition of key aspects of type related problems in the FermaT migration process and how to solve them with a suitable type system approach. Since software migration often includes a change in programming language the type system for WSL has to be able to support various type system approaches including the representation of all relevant details to avoid assumptions. This is especially difficult as most programming languages are designed for a special purpose which means that their possible programming constructs and data types differ significantly. This ranges from languages with simple type systems whose program sare prone to unintended side-effects, to languages with strict type systems which are constrained n their flexibility. It is important to include as many type related details as necessary to avoid making assumptions during language to language translation. The result of the investigation is a novel multi layered type system specifically designed to satisfy the needs of WSL for a sophisticated solution without imposing too many limitations on its abilities. The type system has an adjustable expressiveness, able to represent a wide spectrum of typing approaches ranging from weak typing which allows direct memory access and down casting, via very strict typing with a high diversity of data types to object oriented typing which supports encapsulation and data hiding. Looking at the majority of commercial relevant statically typed programming languages, two fundamental properties of type strictness and safety can be identified. A type system can be either weakly or strongly typed and may or may not allow unsafe features such as direct memory access. Each layer of the Wide Spectrum Type System has a different combination of these properties. The approach also includes special Type System Transformations which can be used to move a given WSL program among these layers. Other emphasised key features are explicit typing and scalability. The whole approach is based on a sound mathematical foundation which assures correctness and integrates seamlessly into the present mathematical definition of WSL. The type system is formally introduced to WSL by constructing an attribute grammar for the language. Type checking and type inference are used to annotate the Abstract Syntax Tree of a given WSL program with type derivations which can be used to reveal and indicate possible typing errors or to infer types if the program did not feature explicit type declarations in the first place. Notable in this approach is also the fact that object orientation is introduced to a procedural programming language without the introduction of new semantics. It is shown that object orientation can be introduced just by adjusting type checking rules and adding some syntactical notations. The approach was implemented and tested on two case studies. The thesis describes and discusses both cases in detail and shows how a migration which ignores type systems could accidentally introduce errors due to assumptions during translation. Both case studies use all important aspects of the approach, Including type transformations and object identification. The thesis finalises by summarising the whole work, identifying limitations, presenting future perspectives and drawing conclusions
|
27 |
Software Evolution in the context of .Net FrameworkWalid, Rohaimi January 2007 (has links)
<p>This paper discusses the process of software evolution and especially software migration in the context of .NET Technologies. Actually most of the companies that uses legacy systems implemented with procedural languages as C, Visual Basic and so on, meet some problems when new requirement specifications have to be integrated.</p><p>One possibility to deal with this situation is to choose a good migration strategy from these legacy systems towards new Object Oriented design.</p><p>There are some migration processes that enable the fulfilment of this task but most of the time theses processes cannot be applied directly without any modification.</p><p>This report presents a migration strategy and migration process applied for a real case of an application in a company. The New Object Oriented design of the application and the result are discussed in the following sections of this document.</p>
|
28 |
Mining Developer Dynamics for Agent-Based Simulation of Software EvolutionHerbold, Verena 27 June 2019 (has links)
No description available.
|
29 |
TDRRC - Técnica para Documentação e Recuperação de Requisitos no Código-Fonte através do uso de anotações. / TDRRC - A Technique to Document and Recover Requirements in the Source-Code by using annotations.Bezerra, Vinicius Miana 22 November 2011 (has links)
Manter os documentos de requisitos atualizados e recuperar os requisitos de um software são desafios enfrentados por desenvolvedores no seu dia a dia durante o desenvolvimento, a manutenção e a evolução de sistemas. Embora existam técnicas para gestão de requisitos, muitas vezes estas técnicas não são aplicadas, os requisitos não são atualizados e a única fonte de informação confiável sobre um software passa a ser seu código-fonte. Esta tese apresenta a TDRRC, uma técnica para a documentação e recuperação dos requisitos no código-fonte usando anotações. A TDRRC possibilita a reengenharia de requisitos sem que haja uma interrupção no desenvolvimento e permite que os requisitos sejam documentados em ambientes de desenvolvimento ágil. A TDRRC contribui para a redução dos problemas relacionados à atualização dos requisitos, pois o desenvolvedor responsável pelo programa passa a ser responsável pela documentação e atualização dos requisitos no código-fonte que ele escreve e mantém. Este trabalho apresenta também formas de aplicar a TDRRC na reengenharia de requisitos, em métodos ágeis e na gestão de requisitos, assim como a sua aplicação em um estudo de caso. / Keeping requirements documents updated and recovering requirements of a software are common challenges faced by developers on their day to day activities. Although there are many requirements management techniques, usually these techniques are not applied, requirements are not updated and the only reliable source of information about a software becomes its source code. This thesis presents TDRRC, a technique that can be used to document and retrieve requirements from the source code using annotations. Applying TDRRC, it is possible to reengineer the requirements of a software without interrupting its development. Also requirements can be documented in a agile environment. TDRRC also contributes to minimize requirements documents update issues as the developer will be clearly responsible for documenting and updating the requirements in the source code he is programming. This thesis also presents how to apply the technique in a requirement reengineering project, in a agile development environment and in a requirements management process. Finally a case study is presented.
|
30 |
[en] EVOLUTION OF SCENES THROUGH A MECHANISM OF TRACKING BASED ON TRANSFORMATIONS / [pt] EVOLUÇÃO DE CENÁRIOS ATRAVÉS DE UM MECANISMO DE RASTREAMENTO BASEADO EM TRANSFORMAÇÕESULF BERGMANN 02 September 2003 (has links)
[pt] A importância da rastreabilidade na evolução de sistemas é
um fato amplamente reconhecido, mas apesar dos esforços
despendidos até agora, ainda encontramos vários obstáculos
a sua efetiva utilização. Esses obstáculos são
relacionados a geração e validação das informações sobre os
relacionamentos e interdependências entre o mundo real, os
requisitos e o sistema de software. Estas informações
freqüentemente não são confiáveis devido a inconsistência
causada pela evolução distinta dos vários artefatos
resultantes do processo de desenvolvimento de um sistema.
Esta tese tem como objetivo estudar a utilização da
tecnologia transformacional na implementação de um
mecanismo de rastreamento de maneira a se obter a
atualização automática das informações de rastreamento,
através da identificação das mudanças ocorridas entre
versões consecutivas dos artefatos produzidos e o seu
subseqüente armazenamento na forma de transformações. Os
benefícios obtidos pelo uso deste mecanismo permitirão: a
eliminação dos problemas da falta de atualização das
informações de rastreamento e o conseqüente aumento do
valor destas informações para o desenvolvedor; a
sistematização do processo de rastreamento; e a diminuição
do custo para se obter, atualizar e validar as informações
de rastreamento. Além destes benefícios, o armazenamento
das informações de rastreamento na forma de transformações
incorpora um maior conhecimento sobre a modelagem
realizada, ao contrário de outros mecanismos que armazenam
somente os artefatos e seus interrelacionamentos
estáticos. / [en] The importance of traceability in software evolutions was
quite established, but despite the effort spent, they are
many issues that difficult they effective use. These issues
are related to the generating and validating of trace
information about the relationships and interdependencies
between the real world, the requirements and the software
system. This information is often mistrusted since they may
have become obsolete due to separate evolution of models and
systems. This thesis study the use of the transformational
technology in the implementation of a traceability
mechanism that automatically obtain trace information by
identifying the changes made in consecutive artifact
versions and store it as transformations. The main
advantages gained with it uses are the elimination of the
problems of the lack of trace information updating, the
systematization of the trace process and the decrease of
the cost to obtain, update and validate trace information.
Besides these benefits, the storage of trace information in
the form of transformations incorporates a larger knowledge
on the accomplished modeling, unlike other mechanisms that
only store the artifacts and their static inter-
relationships.
|
Page generated in 0.0857 seconds