METACOM: Um Método para Análise de Correlação entre Métricas de Produto de Software e Propensão a Manutenção
Co-authored with Roberto Pepato Mellado, Adilson Marques da Cunha, Luiz Alberto Vieira Dias. Published in SBQS - Simpósio Brasileiro de Qualidade de Software, 2011.
Considering that software quality technical characteristics influence
its maintenance, this paper presents a... more
Considering that software quality technical characteristics influence
its maintenance, this paper presents a Method for Correlation Analysis
between Software Product Metrics and Maintenance Proneness named
METACOM. The proposed method defines an Extract, Transform, and Load
(ETL) process for metrics of object-oriented software and volume of software
maintenance. The METACOM involves a correlation analysis model between
obtained product measures to identify the most predictive metrics. Besides,
this paper describes the METACOM application on the analysis of some
software industry real projects. At the end, some remarks are presented about
the main analysis results obtained from specialists.
Towards a software evolution benchmark
by Tom Mens
Authors: Serge Demeyer, Tom Mens, Michel Wermelinger.
Published in IWPSE 2011 international workshop on principles of software evolution.
Case-studies are extremely popular in rapidly evolving research disciplines such as software engineering because they... more Case-studies are extremely popular in rapidly evolving research disciplines such as software engineering because they allow for a quick but fair assessment of new techniques. Unfortunately, a proper experimental set-up is rarely the case: all too often case- studies are based on a single small toy-example chosen to favour the technique under study. Such lack of scientific rigor prevents fair evaluation and has serious consequences for the credibility of our field. In this paper, we propose to use a representative set of cases as benchmarks for comparing various techniques dealing with software evolution. We hope that this proposal will launch a consensus building process that eventually must lead to a scientifically sound validation method for researchers investigating reverse- and re-engineering techniques.
Challenges in software evolution
by Tom Mens
Authors: Tom Mens, Michel Wermelinger, Stéphane Ducasse, Serge Demeyer, Robert Hirschfeld, Mehdi Jazayeri
Today’s information technology society increasingly relies on software at all levels. Nevertheless, software quality... more Today’s information technology society increasingly relies on software at all levels. Nevertheless, software quality generally continues to fall short of expectations, and software systems continue to suffer from symptoms of aging as they are adapted to changing requirements and environments. The only way to overcome or avoid the negative effects of software aging is by placing change and evolution in the center of the software development process. In this article we describe what we believe to be some of the most important research challenges in software evolution. The goal of this document is to provide novel research directions in the software evolution domain.
Introduction and roadmap: History and challenges of software evolution
by Tom Mens
Chapter 1 of book "Software Evolution", co-edited by Tom Mens and Serge Demeyer.
(c) Springer, 2008
The ability to evolve software rapidly and reliably is a major challenge for software engineering. In this... more The ability to evolve software rapidly and reliably is a major challenge for software engineering. In this introductory chapter we start with a historic overview of the research domain of software evolution. Next, we briefly introduce the important research themes in software evolution, and identify research challenges for the years to come. Finally, we provide a roadmap of the topics treated in this book, and explain how the various chapters are related.
Automated Support for Framework-Based Software Evolution
by Tom Mens
Published in ICSM 2003, co-authored by Tom Tourwé
In this paper, we show how elaborate support for framework-based software evolution can be provided based on explicit... more In this paper, we show how elaborate support for framework-based software evolution can be provided based on explicit documentation of the hot spots of object-oriented application frameworks. Such support includes high-level transformations that guide a developer when instantiating applications from a framework by propagating the necessary changes, as well as application upgrading facilities based on these transformations. The approach relies on active declarative documentation of the design and evolution of the framework’s hot spots, by means of metapatterns and their associated transformations.
Maintaining software through intentional source-code views
by Tom Mens
Authors: Kim Mens, Tom Mens, Michel Wermelinger. Proceedings of ACM Software Engineering and Knowledge Engineering Conference (SEKE 2002).
(c) ACM 2002
Maintaining the source code of large software systems is hard. One underlying cause is that existing modularisation... more
Maintaining the source code of large software systems is hard. One underlying cause is that existing modularisation mechanisms are inadequate to handle crosscutting concerns. We propose intentional source-code views as an intuitive and lightweight means of modelling such concerns. They increase our ability to understand, modularise and browse the source code by grouping together source-code entities that address the same concern. They facilitate software development and evolution, because alternative descriptions of the same intentional view can be checked for consistency and relations among intentional views can be defined and verified. Finally, they enable us to specify knowledge developers have about source code that is not captured by traditional program documentation mechanisms.
Our intentional view model is implemented in a logic metaprogramming language that can reason about and manipulate object-oriented source code directly. The proposed model has been validated on the evolution of a medium-sized object-oriented application in Smalltalk, and a prototype tool has been implemented.
Towards a Classification of Logical Dependencies Origins: A Case Study
Oliva, G.A., Santana, F.W.S., Gerosa, M.A. & de Souza, C.R.B. "Towards a classification of logical dependencies origins: a case study", Proceedings of the 12th International Workshop on Principles of Software Evolution and the 7th annual ERCIM Workshop on Software Evolution, IWPSE-EVOL '11, 2011, Szeged, Hungary, pp 31--40.
Logical dependencies are implicit relationships established between software artifacts that have evolved together.... more Logical dependencies are implicit relationships established between software artifacts that have evolved together. Software engineering researchers have investigated this kind of dependency to assess fault-proneness, detect design issues, infer code decay, and predict likely changes in code. Despite the acknowledged relation between logical dependencies and software quality, the nature of the logical dependencies is unknown in the literature. Most authors hypothesize about their origins, but no empirical study has been conducted to investigate the real nature of these dependencies. In this paper, we investigated the origins of logical dependencies by means of a case study involving a Java FLOSS project. We mined the project repository, filtered out irrelevant data based on statistical analyses, and performed a manual inspection of the logical dependencies to identify their origins using information from the revision comments, code diffs, and informal interviews held with the developers of the analyzed project. Preliminary results showed that logical dependencies involved files that changed together for a series of different reasons, which ranged from changing software license to refactoring classes that belonged to a same semantic class.
17 views
Seen by:6 views
Seen by:13 views
Seen by:
