Maintaining a COTS Integrated Solution - Are Traditional Static Analysis Techniques Sufficient for this New Programming Methodology?
Mar. 16, 1998 to Mar. 19, 1998
R. Cherinka , The MITRE Corporation
J. Ricci , The MITRE Corporation
C.M. Overstreet , Old Dominion University
As integrating commercial off-the-shelf (COTS) products into new homogeneous systems replaces "traditional" software development approaches, software maintenance problems persist. This approach builds new solutions via "glue code" using visual languages, which tie together client-based office products, server-based "BackOffice" products and web-based services/applications. The resulting collection of distributed object-oriented components are glued together by attaching code snippets written in a visual language to other components and controls, such as a command button on a form. A majority of the code in such an application is pre-generated and self-contained in the individual components being reused and, as a result, is typically difficult to understand and maintain. Our experience shows that, while these approaches actually exacerbate some maintenance problems, such as the introduction of dead code, traditional static analysis techniques may still facilitate common maintenance activities. This work reports on the use of data flow techniques on several medium-sized COTS integrated solutions that have become difficult to maintain. We found that by exploiting semantic information, traditional techniques can be augmented to handle some of the unique maintenance issues of component-based software.
Software Maintenance, Program Understanding, Program Comprehension, COTS, COTS Integration, Component-based Maintenance, Component Object Model, Static Code Analysis, Data Flow Analysis
R. Cherinka, J. Ricci, C.M. Overstreet, "Maintaining a COTS Integrated Solution - Are Traditional Static Analysis Techniques Sufficient for this New Programming Methodology?", ICSM, 1998, 2013 IEEE International Conference on Software Maintenance, 2013 IEEE International Conference on Software Maintenance 1998, pp. 160, doi:10.1109/ICSM.1998.738505