skip to main content
10.1145/1014007.1014013acmconferencesArticle/Chapter ViewAbstractPublication PagespepmConference Proceedingsconference-collections
Article

Invited application paper: re-engineering C++ components via automatic program transformation

Published:24 August 2004Publication History

ABSTRACT

Automated program transformation holds promise for a variety of software life cycle endeavors, particularly where the size of legacy systems makes code analysis, re-engineering, and evolution very difficult and expensive. But constructing transformation tools that handle the full generality of modern languages and that scale to very large applications is itself a painstaking and expensive process. This cost can be managed by developing a common transformation system infrastructure that is re-used by an array of derived tools that each address specific tasks, thus leveraging the infrastructure cost over the various tools.This talk describes DMS, a practical, commercial program analysis and transformation system, and discusses how its infrastructure was employed to construct the Boeing Migration Tool (BMT), a custom component modernization application being applied to a large C++ industrial avionics system. The BMT automatically transforms components developed under a 1990's era component style to a more modern CORBA-like component framework, preserving functionality. We describe the DMS infrastructure and the BMT application itself, illustrating some of the kinds of syntheses and transformations required and some of the issues involved with transforming industrial C++ code. We also discuss the development experience, including the strategies for approaching the scale of the migration, the style of interaction that evolved between the tool-building company and its industrial customer, and how the project adapted to changing requirements.

References

  1. PARLANSE Reference Manual, Semantic Designs, Inc. 1998.Google ScholarGoogle Scholar
  2. Baxter, I. D., Pidgeon, C., and Mehlich, M., DMS: Program Transformations for Practical Scalable Software Evolution. Proceedings of the 26th International Conference on Software Engineering, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Semantic Designs, Inc. web site, www.semanticdesigns.com.Google ScholarGoogle Scholar
  4. Sharp, D. C., Reducing Avionics Software Cost Through Component Based Product Line Development, Proceedings of the 1998 Software Technology.Google ScholarGoogle Scholar
  5. Gidding, V., Beckwith, B., Real-time CORBA Tutorial, OMG's Workshop on Distributed Object Computing For Real-Time and Embedded Systems, www.omg.org/news/meetings/workshops/rt_embedded2003.html, 2003.Google ScholarGoogle Scholar

Index Terms

  1. Invited application paper: re-engineering C++ components via automatic program transformation

                Recommendations

                Comments

                Login options

                Check if you have access through your login credentials or your institution to get full access on this article.

                Sign in
                • Published in

                  cover image ACM Conferences
                  PEPM '04: Proceedings of the 2004 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
                  August 2004
                  212 pages
                  ISBN:1581138350
                  DOI:10.1145/1014007

                  Copyright © 2004 ACM

                  Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                  Publisher

                  Association for Computing Machinery

                  New York, NY, United States

                  Publication History

                  • Published: 24 August 2004

                  Permissions

                  Request permissions about this article.

                  Request Permissions

                  Check for updates

                  Qualifiers

                  • Article

                  Acceptance Rates

                  Overall Acceptance Rate66of120submissions,55%

                PDF Format

                View or Download as a PDF file.

                PDF

                eReader

                View online with eReader.

                eReader