5,845 research outputs found
Applying ArchOptions to value the payoff of refactoring
ArchOptions is a real-options based model that we have pro-posed to value the flexibility of software architectures in response to future changes in requirements. In this paper, we build on ArchOptions to devise an options-based model, which values the architectural flexibility that results from a refactoring exercise. This value assists in understanding the payoff of investing in refactoring: if the refactored system results in an architecture that is more flexible, such that the expected added value (in the form of options) due to the en-hanced flexibility outweighs the cost of investing in this exer-cise, then refactoring is said to payoff. We apply our model to a refactoring case study from the literature
Technical Debt Prioritization: State of the Art. A Systematic Literature Review
Background. Software companies need to manage and refactor Technical Debt
issues. Therefore, it is necessary to understand if and when refactoring
Technical Debt should be prioritized with respect to developing features or
fixing bugs. Objective. The goal of this study is to investigate the existing
body of knowledge in software engineering to understand what Technical Debt
prioritization approaches have been proposed in research and industry. Method.
We conducted a Systematic Literature Review among 384 unique papers published
until 2018, following a consolidated methodology applied in Software
Engineering. We included 38 primary studies. Results. Different approaches have
been proposed for Technical Debt prioritization, all having different goals and
optimizing on different criteria. The proposed measures capture only a small
part of the plethora of factors used to prioritize Technical Debt qualitatively
in practice. We report an impact map of such factors. However, there is a lack
of empirical and validated set of tools. Conclusion. We observed that technical
Debt prioritization research is preliminary and there is no consensus on what
are the important factors and how to measure them. Consequently, we cannot
consider current research conclusive and in this paper, we outline different
directions for necessary future investigations
Refactoring, reengineering and evolution: paths to Geant4 uncertainty quantification and performance improvement
Ongoing investigations for the improvement of Geant4 accuracy and
computational performance resulting by refactoring and reengineering parts of
the code are discussed. Issues in refactoring that are specific to the domain
of physics simulation are identified and their impact is elucidated.
Preliminary quantitative results are reported.Comment: To be published in the Proc. CHEP (Computing in High Energy Physics)
201
Search based software engineering: Trends, techniques and applications
© ACM, 2012. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version is available from the link below.In the past five years there has been a dramatic increase in work on Search-Based Software Engineering (SBSE), an approach to Software Engineering (SE) in which Search-Based Optimization (SBO) algorithms are used to address problems in SE. SBSE has been applied to problems throughout the SE lifecycle, from requirements and project planning to maintenance and reengineering. The approach is attractive because it offers a suite of adaptive automated and semiautomated solutions in situations typified by large complex problem spaces with multiple competing and conflicting objectives.
This article provides a review and classification of literature on SBSE. The work identifies research trends and relationships between the techniques applied and the applications to which they have been applied and highlights gaps in the literature and avenues for further research.EPSRC and E
Pareto optimal search based refactoring at the design level.
Refactoring aims to improve the quality of a software systems’ structure, which tends to degrade as the system evolves. While manually determining useful refactorings can be challenging, search based techniques can automatically discover useful refactorings. Current search based refactoring approaches require metrics to be combined in a complex fashion, and produce a single sequence of refactorings. In this paper we show how Pareto optimality can improve search based refactoring, making the combination of metrics easier, and aiding the presentation of multiple sequences of optimal refactorings to users
Scaling the Management of Extreme Programming Projects
XP is a code-oriented, light-weight software engineering methodology, suited
merely for small-sized teams who develop software that relies on vague or
rapidly changing requirements. Being very code-oriented, the discipline of
systems engineering knows it as approach of incremental system change. In this
contribution, we discuss the enhanced version of a concept on how to extend XP
on large scale projects with hundreds of software engineers and programmers,
respectively. Previous versions were already presented in [1] and [12]. The
basic idea is to apply the "hierarchical approach", a management principle of
reorganizing companies, as well as well-known moderation principles to XP
project organization. We show similarities between software engineering methods
and company reorganization processes and discuss how the elements of the
hierarchical approach can improve XP. We provide guidelines on how to scale up
XP to very large projects e.g. those common in telecommunication industry and
IT technology consultancy firms by using moderation techniques.Comment: 7 pages, 4 figure
- …