Journal Article10.1109/52.207232
Maintaining object-oriented software
N. Wilde,P. Matthews,R. Huitt +2 more
116
TL;DR: The maintenance requirements of object-oriented software, including the ability to make changes easily and an in-depth understanding of the software's structure and behavior, are discussed and the problems encountered by a maintainer trying to understand the software by reading and statically analyzing it are described.
read more
Abstract: The maintenance requirements of object-oriented software, including the ability to make changes easily and an in-depth understanding of the software's structure and behavior, are discussed. The problems encountered by a maintainer trying to understand object-oriented software by reading and statically analyzing it are described. The problems caused by dynamic binding, polymorphism, and cooperating object classes in object-oriented software maintenance are reviewed. >
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
The evolution and impact of code smells: A case study of two open source systems
Steffen M. Olbrich,Daniela S. Cruzes,Victor R. Basili,Nico Zazworka +3 more
- 15 Oct 2009
TL;DR: The results show that different phases in the evolution of code smells during the system development and that code smell infected components exhibit a different change behavior are useful for the identification of risk areas within a software system that need refactoring to assure a future positive evolution.
Adaptive plug-and-play components for evolutionary software development
Mira Mezini,Karl Lieberherr +1 more
- 01 Oct 1998
TL;DR: Adaptive Plug and Play Components are designed such that they not only facilitate the construction of complex software by making the collaborations explicit, but they do so in a manner that supports the evolutionary nature of both structure and behavior.
232
Two controlled experiments assessing the usefulness of design pattern documentation in program maintenance
TL;DR: In this article, the authors focus on the maintenance context and reports on experimental tests of the following question: does it help the maintainer if the design patterns in the program code are documented explicitly (using source code comments) compared to a well-commented program without explicit reference to design patterns?
188
An empirical analysis of the distribution of unit test smells and their impact on software maintenance
Gabriele Bavota,Abdallah Qusef,Rocco Oliveto,Andrea De Lucia,David Binkley +4 more
- 23 Sep 2012
TL;DR: The results show that (i) test smells are widely spread throughout the software systems studied and (ii) most of the test smells have a strong negative impact on the comprehensibility of test suites and production code.
185
The Moderating Effects of Structure on Volatility and Complexity in Software Enhancement
TL;DR: It is found that structure moderates the relationship between complexity, volatility, and enhancement outcomes, such that higher levels of structure are more advantageous for the more complex and more volatile applications in terms of reduced enhancement costs and errors.
148
References
Object-oriented development
TL;DR: The author examines the process of object-oriented development as well as the influences upon this approach from advances in abstraction mechanisms, programming languages, and hardware.
Maintenance support for object oriented programs
TL;DR: Some of the difficulties that may be expected in the maintenance of software developed using the new object oriented languages are described and suggestions are made concerning maintenance in firefighting situations.
84
A study of the impact of C++ on software maintenance
Dennis Mancl,W. Havanas +1 more
- 26 Nov 1990
TL;DR: A case study of the impact of the C++ programming language and object-oriented design on the maintenance phase of a software development project (referred to as CXR) shows increased software reuse and reduced complexity of software changes in the parts of the project that use object- oriented design.
29