Knowing where to start reverse engineering a large software system, when no information other than the system's source code itself is available, is a daunting task. Having the history of the code (i.e., the versions) could be of help if this would not imply analyzing a huge amount of data. In this paper we present an approach for identifying candidate classes for reverse engineering and reengineering efforts. Our solution is based on summarizing the changes in the evolution of object-oriented software systems by defining history measurements. Our approach, named Yesterday's Weather, is an analysis based on the retrospective empirical observation that classes which changed the most in the recent past also suffer important changes in the near future. We apply this approach on two case studies and show how we can obtain an overview of the evolution of a system and pinpoint its classes that might change in the next versions.
Coping with huge amounts of data is one of the major problems in the context of software evolution. Current approaches reduce this complexity by filtering out irrelevant information. In this paper we propose an approach based on a combination of software visualization and software metrics, as software visualization is apt for complexity reduction and metrics introduce the possibility to qualify evolution. We discuss a simple and effective way to visualize the evolution of software systems which helps to recover the evolution of object oriented software systems. In addition we define a vocabulary that qualifies some specific situations that occurs when considering system evolution. RÉSUMÉ. Analyser un très grand volume de données est un des problèmes majeurs lors de la compréhension de l'évolution de logiciels. Les approches existantes réduisent cette complexité en filtrant les informations non pertinentes. Dans cet article nous proposons une approche basée sur la combinaison de métriques et de visualisation, la visualisation permettant une réduction d'information et les métriques permettant une qualification de l'évolution. Ainsi nous présentons une matrice d'évolution : une visualisation simple et efficace qui aide à comprendre l'évolution des applications orientées objets. En plus, nous définissons un vocabulaire permettant de qualifier les situations caractéristiques rencontrées.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.