Spelling suggestions: "subject:"5oftware (devolution)"" "subject:"5oftware (c.volution)""
11 |
Supporting Software Architecture EvolutionSvahnberg, Mikael January 2003 (has links)
Today it is more a rule than an exception that software systems have a lifecycle of more than several years. Hence, software evolution is inevitable. During the life span of a software system the domain in which the system is working evolves and changes. This causes changes to the software system, and the software system may also be evolved to satisfy new markets. The ability to evolve gracefully, and thus the long-term success of a software system, is to a large extent governed by its software architecture and the ability of the software architecture to fulfil requirements on quality attributes and to adapt to evolving requirements. In this thesis we study evolution of software architectures and what can be done to support this evolution. We focus on three particular aspects of evolution support: how to ensure that the correct blend of quality attributes is met (architecture selection), the technical means available for supporting changes in the software system (variability), and what types of changes that are likely to occur during evolution (categories of evolution). We introduce a method for architecture evaluation and selection that focus on ensuring that the selected software architecture is the architecture candidate with the most potential for fulfilling a particular blend of quality attributes. The method is based on quantification of expert opinions and focused discussions where these expert opinions differ. The architecture evaluation and selection method is studied in both an academic and in an industry setting. We also introduce a taxonomy of techniques for realising variability in a software system and study how the techniques in this taxonomy are applied in different evolution situations. The taxonomy is based on several industry case studies. Two industry cases are studied in further detail and the evolution of these systems are followed over a number of releases and generations. During this evolution it is shown how variability mechanisms are used to also support evolution, and that there are typical cases of evolution that a software system can be prepared to cope with. The contribution of this thesis is that it increases the understanding of how evolution occurs in a software system, how to create software that is flexible enough to support evolution and how to evaluate and select a software architecture that meets a particular blend of quality attributes. Together this ensures that a software system is based on a software architecture that fits the current quality requirements and that is flexible in the right places so that it is able to evolve gracefully.
|
12 |
An analytical study of metrics and refactoringIyer, Suchitra S. 03 September 2009 (has links)
Object-oriented systems that undergo repeated modifications commonly
endure a loss of quality and design decay. This problem is often
remedied by applying refactorings. Refactoring is one of the most
important and commonly used techniques to improve the quality of the
code by eliminating redundancy and reducing complexity; frequently
refactored code is believed to be easier to understand, maintain and
test. Object-oriented metrics provide an easy means to extract useful
and measurable information about the structure of a software
system. Metrics have been used to identify refactoring opportunities,
detect refactorings that have previously been applied and gauge
quality improvements after the application of refactorings.
This thesis provides an in-depth analytical study of the relationship
between metrics and refactorings. For this purpose we analyzed 136
versions of 4 different open source projects. We used
RefactoringCrawler, an automatic refactoring detection tool to
identify refactorings and then analyzed various metrics to study
whether metrics can be used to (1) reliably identify refactoring
opportunities, (2) detect refactorings that were previously
applied, and (3) estimate the impact of refactoring on software
quality.
In conclusion, our study showed that metrics cannot be reliably used
to either identify refactoring opportunities or detect
refactorings. It is very difficult to use metrics to estimate the
impact of refactoring, however studying the evolution of metrics at a
system level indicates that refactoring does improve software quality
and reduce complexity. / text
|
13 |
Automating business intelligence recovery in software evolutionKang, Jian January 2009 (has links)
The theme of this thesis is to pave a path to vertically extract business intelligence (BI) from software code to business intelligence base, which is a tank of BI. Business intelligence is the atomic unit to build a piece of program comprehensibility in business logic point of view. It outstands because it covers all reverse engineering levels from code to specification. It refers to technologies for the localisation, extraction, analysis of business intelligence in software system. Such an approach naturally requires information transformation from software system to business intelligence base, and hence a novel set of automatic business intelligence recovery methods are needed. After a brief introduction of major issues covered by this thesis, the state of art of the area coined by the author as “business intelligence elicitation from software system”, in particular, the kinds of business intelligence that can be elicited from software system and their corresponding reverse engineering technical solutions are presented. Several new techniques are invented to pave the way towards realising this approach and make it light-weight. In particular, a programming-style-based method is proposed to partition a source program into business intelligence oriented program modules; concept recovery rules are defined to recover business intelligence concepts from the names embedded in a program module; formal concept analysis is built to model the recovered business intelligence and present business logic. The future research of this task is viewed as “automating business intelligence accumulation in Web” which is defined to bridge work in this thesis to nowadays Web computing trends. A prototype tool for recovering business intelligence from a Web-based mobile retailing system is then presented, followed by case study giving evaluation on the approach in different aspects. Finally, conclusions are drawn. Original contributions of this research work to the field of software reverse engineering are made explicit and future opportunities are explored.
|
14 |
Curbing Dependencies in Software Evolution of Object-Oriented SystemsSkoglund, Mats January 2006 (has links)
<p>Relationships between classes and objects in object-oriented software are necessary in order for the parts of the systems to provide dynamic behavior. These inherent relationships also create dependencies which can give rise to problems for software evolution of object-oriented software systems. Dependencies in software make systems difficult to understand, reuse, change and verify.</p><p>This thesis presents analytical and empirical investigations of dependency-related problems in software evolution of object-oriented software and on how such problems can be handled with dependency focused techniques, methods and processes.</p><p>The research presented in this thesis includes: Development of a programming language construct for controlling dependencies; formal experiments on code inspection techniques; exploring change strategies' effects on test suites; an industrial case study of regression test selection techniques for object-oriented software; proving the efficiency and defect detection capabilities of a novel regression test selection technique.</p><p>The thesis contributes to increased knowledge on the role of dependencies in software evolution of object-oriented software. Specific contributions are a programming language construct that can control access to dependencies in software. Other main contributions are insights on the efficiency of dependency focused code inspection techniques and contribution to the knowledge on dependency-based regression test selection techniques for large scale software. Another contribution is a novel change-based regression test selection technique.</p>
|
15 |
Toward an improved understanding of software changeZou, Lijie January 2003 (has links)
Structural changes, including moving, renaming, merging and splitting are important design change decisions made by programmers. However, during the process of software evolution, this information often gets lost. Recovering instances of structural changes in the past, as well as understanding them, are essential for us to achieve a better understanding of how and why software changes.
In this thesis, we propose an approach that helps to recover and understand the lost information of structural changes.
|
16 |
Curbing Dependencies in Software Evolution of Object-Oriented SystemsSkoglund, Mats January 2006 (has links)
Relationships between classes and objects in object-oriented software are necessary in order for the parts of the systems to provide dynamic behavior. These inherent relationships also create dependencies which can give rise to problems for software evolution of object-oriented software systems. Dependencies in software make systems difficult to understand, reuse, change and verify. This thesis presents analytical and empirical investigations of dependency-related problems in software evolution of object-oriented software and on how such problems can be handled with dependency focused techniques, methods and processes. The research presented in this thesis includes: Development of a programming language construct for controlling dependencies; formal experiments on code inspection techniques; exploring change strategies' effects on test suites; an industrial case study of regression test selection techniques for object-oriented software; proving the efficiency and defect detection capabilities of a novel regression test selection technique. The thesis contributes to increased knowledge on the role of dependencies in software evolution of object-oriented software. Specific contributions are a programming language construct that can control access to dependencies in software. Other main contributions are insights on the efficiency of dependency focused code inspection techniques and contribution to the knowledge on dependency-based regression test selection techniques for large scale software. Another contribution is a novel change-based regression test selection technique.
|
17 |
Toward an improved understanding of software changeZou, Lijie January 2003 (has links)
Structural changes, including moving, renaming, merging and splitting are important design change decisions made by programmers. However, during the process of software evolution, this information often gets lost. Recovering instances of structural changes in the past, as well as understanding them, are essential for us to achieve a better understanding of how and why software changes.
In this thesis, we propose an approach that helps to recover and understand the lost information of structural changes.
|
18 |
Retrieval and Analysis of Software Systems from SCM RepositoriesMüller, Michael January 2007 (has links)
<p>One source of input data for software evolution research is data stored inside a software configuration management repository. The data includes different versions of a software system’s source code as well as version history metadata, such as check-in dates or log messages. Inherently, extracting this data manually is a time- and labor intensive task. The subsequent preprocessing step and the appropriate storage of the results, necessary to utilize the data for further analysis, is an additional effort for the researcher.</p><p>The goal of this thesis is to design and implement a front-end plug-in for an existing software comprehension tool, the VizzAnalyzer, providing the capability to extract and analyze multiple versions and evolutional information of software systems from SCM repositories and to store the results. Thereby, the implemented solution provides the infrastructure for software evolution research.</p>
|
19 |
[en] SOFTWARE ENGINEERING FOR OPEN SOURCE SOFTWARE / [pt] ENGENHARIA DE SOFTWARE PARA SOFTWARE LIVREROBERTO DE HOLANDA CHRISTOPH 03 May 2004 (has links)
[pt] Software livres têm despertado bastante atenção, não apenas
devido a popularidade obtida por alguns destes como o Linux
e o Apache, mas também pela forma singular como estes
sistemas são desenvolvidos e sua quantidade de
adeptos. No entanto, em alguns projetos de software livre,
a documentação existente dificulta a entrada de novos
participantes, já que devido a informalidade do
processo de desenvolvimento deste tipo de software, é comum
que a documentação do sistema não receba muita atenção.
Este trabalho colabora para um melhor entendimento do
desenvolvimento de software livres, relacionando-o com as
questões de evolução de software. Será apresentada uma
proposta utilizada no software livre C e L para documentar em
termos da aplicação o código do sistema, utilizando-se do
conceito de cenários. Será mostrado através de um protótipo
que um software seguindo esse padrão proposto pode produzir
uma documentação que torna mais fácil seu entendimento
para novos participantes do projeto. / [en] This thesis presents an introduction on the use of the
thermal desorption technique that is based on the direct
heating of the soil, for the remediation of contaminated
areas. Heat propagation through soils can be mathematically
simulated using coupled heat-moisture transfer theories. In
order to make this simulation possible it is necessary to
identify the required parameters: hydraulic conductivity as
a function of volumetric water content, thermal
conductivity as a function of volumetric water content,
volumetric heat capacity, and soil-water characteristic
curve. One technical description of such parameters is
presented. Two different kinds of soils were used, one clay-
sand (CH) and one sandclay (SC). A study physico-chemical
was done talking into consideration the temperature effect
on the soils with X-Ray, electron microscopic investigation,
CTC, Atterberg Limits and at the particle size
distribution. The study was done on pre-heated soils with
temperatures ranging from 20 Celsius Degrees to 300 Celsius Degrees. Equipments and
methodologies have been especially developed for the
study of the thermo-hydraulics proprieties. The laboratory
tests program consisted of hydraulic conductivity,
retention curves and deformability, taking into account
the temperature effects. During the tests it was observed
that all parameters were temperature dependent. The thermal
parameters, thermal conductivity and heat capacity were
studied for both soils.
|
20 |
SUPPORTING CODE-DESIGN CONSISTENCY DURING SOFTWARE EVOLUTIONHammad, Maen M. 16 April 2010 (has links)
No description available.
|
Page generated in 0.074 seconds