• Corpus ID: 13147063

Towards Knowledge Discovery in Software Repositories to Support Refactoring Jörg Rech Fraunhofer IESE

  title={Towards Knowledge Discovery in Software Repositories to Support Refactoring J{\"o}rg Rech Fraunhofer IESE},
  author={J{\"o}rg Rech},
  • J. Rech
  • Published 2004
  • Computer Science
Software repositories are typically used to store code together with additional information. These repositories are a valuable source to train knowledge discovery algorithms to detect code smells and other qualitative defects. In this paper we present a lightweight framework to detect previously unknown knowledge from software reposit ories to support refactoring. The results will be usable by software reengineers in the process of inspection and quality asses sment of legacy systems. 
3 Citations

Figures from this paper

Experience-Based Refactoring for Goal-Oriented Software Quality Improvement

This paper presents an experience-based approach for the semi-automatic and goal-oriented refactoring of software systems based on didactical augmented experiences, following the experience factory paradigm.

Improving Software Quality through Refactoring by means of Didactical Augmented Experience

This paper presents an experiencebased approach for the semi-automatic and goal-oriented refactoring of software systems based on didactical augmented experiences, following the experience factory paradigm.

Handling of Software Quality Defects in Agile Software Development

An annotation language is presented that is used to store information about quality defects found in source code and that represents the defect and treatment history of a part of a software system that can be used to support quality defect discovery processes.



Metrics Based Refactoring

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.

Automated Support for Framework-Based Software Evolution

This paper shows how elaborate support for framework-based software evolution can be provided based on explicit documentation of the hot spots of object-oriented application frameworks, by means of metapatterns and their associated transformations.

Software maintenance and evolution: a roadmap

The production of new management approaches to evolution, leading to understanding of the relationships between technology and business, and the development of a service-based model of software, to replace a product view.

Practical analysis for refactoring

A new definition of refactoring is given that focuses on preconditions and postconditions of the refactorings, rather than on the program transformation itself, and the criteria that are necessary for anyRefactoring tool to succeed are identified.

Modeling Object-Oriented Software for Reverse Engineering and Refactoring

FAMIX is presented, a language-independent metamodel for modelling object-oriented software for reengineering purposes and a set of fifteen low-level refactorings provide an in-depth validation of the language independence of FAMIX.

Reverse engineering: a roadmap

This paper presents a roadmap for reverse engineering research for the first decade of the new millennium, building on the program comprehension theories of the 1980s and the reverse engineering technology of the 1990s.

Object-Oriented Reverse Engineering —- Coarse-grained, Fine-grained, and Evolutionary Software Visualization

This thesis proposes a visual approach to the reverse engineering of object-oriented software systems by means of polymetric views, lightweight visualizations of software enriched with metrics and other types of semantic information about the software, e.g., its age, version, abstractness, location, structure, function, etc.

Refactoring object-oriented frameworks

This thesis gives some conservative algorithms for determining whether a program satisfies constraints, and describes how to use this design information to refactor a program.

On the many ways software engineering can benefit from knowledge engineering

This paper discusses all the points above, identify open issues and future research directions, and provides some carefully selected, key pointers for further reading.


This article presents an infrastructure, called the experience factory , aimed at capitalization and reuse of life cycle experience and products. The experience factory is a logical and physical