scispace - formally typeset
Search or ask a question
Conference

Conference on Software Maintenance and Reengineering 

About: Conference on Software Maintenance and Reengineering is an academic conference. The conference publishes majorly in the area(s): Software maintenance & Software system. Over the lifetime, 777 publications have been published by the conference receiving 20499 citations.


Papers
More filters
Proceedings ArticleDOI
14 Mar 2001
TL;DR: It is shown that a special kind of metrics can support these subjective perceptions and thus can be used as an effective and efficient way to get support for the decision of where to apply refactoring.
Abstract: Refactoring is one key issue to increase internal software quality during the whole software lifecycle. Since identifying structures where refactorings should be applied often is explained with subjective perceptions like "bad taste" or "bad smell", an automatic refactoring location finder seems difficult. We show that a special kind of metrics can support these subjective perceptions and thus can be used as an effective and efficient way to get support for the decision of where to apply refactoring. Due to the fact that the software developer is the last authority, we provide powerful and metrics based software visualisation to support the developers in judging their products. The authors demonstrate this approach for four typical refactorings and present both a tool supporting the identification and case studies of its application.

303 citations

Proceedings ArticleDOI
01 Mar 2011
TL;DR: It is concluded that developers can cope with one antipattern but that combinations of antip atterns should be avoided possibly through detection and refactorings.
Abstract: Antipatterns are "poor" solutions to recurring design problems which are conjectured in the literature to make object-oriented systems harder to maintain. However, little quantitative evidence exists to support this conjecture. We performed an empirical study to investigate whether the occurrence of antipatterns does indeed affect the understandability of systems by developers during comprehension and maintenance tasks. We designed and conducted three experiments, with 24 subjects each, to collect data on the performance of developers on basic tasks related to program comprehension and assessed the impact of two antipatterns and of their combinations: Blob and Spaghetti Code. We measured the developers’ performance with: (1) the NASA task load index for their effort, (2) the time that they spent performing their tasks, and, (3) their percentages of correct answers. Collected data show that the occurrence of one antipattern does not significantly decrease developers’ performance while the combination of two antipatterns impedes significantly developers. We conclude that developers can cope with one antipattern but that combinations of antipatterns should be avoided possibly through detection and refactorings.

270 citations

Proceedings ArticleDOI
05 Mar 2013
TL;DR: An empirical study conducted to investigate the cloning culture in six industrial software product lines realized via code cloning finds that cloning, while widely discouraged in literature, is still perceived as a favorable and natural reuse approach by the majority of practitioners in the studied companies.
Abstract: Many companies develop software product lines-collections of similar products-by cloning and adapting artifacts of existing product variants. Transforming such cloned product variants into a "single-copy" software product line representation is considered an important software re-engineering activity, as reflected in numerous tools and methodologies available. However, development practices of companies that use cloning to implement product lines have not been systematically studied. This lack of empirical knowledge threatens the validity and applicability of approaches supporting the transformation, and impedes adoption of advanced solutions for systematic software reuse. It also hinders the attempts to improve the solutions themselves. We address this gap with an empirical study conducted to investigate the cloning culture in six industrial software product lines realized via code cloning. Our study investigates the processes, and the perceived advantages and disadvantages of the approach. We observe that cloning, while widely discouraged in literature, is still perceived as a favorable and natural reuse approach by the majority of practitioners in the studied companies. This is mainly due to its benefits such as simplicity, availability and independence of developers. Based on our observations, we outline issues preventing the adoption of systematic software reuse approaches, and identify future research directions.

246 citations

Proceedings ArticleDOI
21 Mar 2007
TL;DR: This paper combines clone detection and co-change analysis to investigate how clones are maintained when an evolution activity or a bug fixing impact a source code fragment belonging to a clone class.
Abstract: Despite the conventional wisdom concerning the risks related to the use of source code cloning as a software development strategy, several studies appeared in literature indicated that this is not true. In most cases clones are properly maintained and, when this does not happen, is because cloned code evolves independently. Stemming from previous works, this paper combines clone detection and co-change analysis to investigate how clones are maintained when an evolution activity or a bug fixing impact a source code fragment belonging to a clone class. The two case studies reported confirm that, either for bug fixing or for evolution purposes, most of the cloned code is consistently maintained during the same co-change or during temporally close co-changes

223 citations

Proceedings ArticleDOI
24 Mar 2009
TL;DR: An incremental clone detection algorithm is presented, which detects clones based on the results of the previous revision's analysis, and creates a mapping between clones of one revision to the next, supplying information about the addition and deletion of clones.
Abstract: Finding, understanding and managing software clones - passages of duplicated source code - is of large interest in research and practice. There is an abundance of techniques to detect clones. However, all these techniques are limited to a single revision of a program. When the code changes, the analysis must be run again from scratch even though only small parts may have changed. In this paper, we present an incremental clone detection algorithm, which detects clones based on the results of the previous revision's analysis. Moreover, it creates a mapping between clones of one revision to the next, supplying information about the addition and deletion of clones. Our empirical results demonstrate that the incremental technique requires considerably less time than a non-incremental approach if the changes do not exceed a certain fraction of the source code. An incremental analysis is useful for on-the-fly detection and evolutionary clone analysis. On-the-fly detection may be integrated in an IDE and allows to re-run clone detection immediately when a programmer saves his changes or even while he/she is typing. In evolutionary clone analysis, many revisions of a system need to be analyzed in order to understand how clones evolve.

213 citations

Performance
Metrics
No. of papers from the Conference in previous years
YearPapers
201469
201364
201269
201154
201044
200964