Abstract
Legacy software systems are typically complex, geriatric, and difficult to change, having evolved over decades and having passed through many developers. Nevertheless, these systems are mature, heavily used, and constitute massive corporate assets.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Arango, G., Baxter, I., and Freeman, P. (1985). Maintenance and Porting of Software by Design Recovery. In CSM-85, Proceedings of the Conference on Software Maintenance, Austin, TX, Ieee Computer Society Press, No- vember 1985, pages 42–49.
Arnold, R. (1993). Software Reengineering. Ieee Computer Society Press, NY.
Baker, S. (1995). On Finding Duplication and Near-Duplication in Large Soft- ware Systems. In Proceedings of the Working Conference on Reverse Engi- neering (WCRE), Toronto, Ontario, Ieee Computer Society Press, July 1995, pages 86–95.
Bernstein, P. and Dayal, U. (1994). An Overview of Repository Technology. International Conference on Very Large Databases, Santiago, Chile, Sep- tember 1994.
Biggerstaff, T., Mitbander, B., and D. Webster. (1994). Program Understanding and the Concept Assignment Problem. Communications of the ACM, 37(5), May 1994, pages 72–83.
Brown, A. and Penedo, M. (1992). An Annotated Bibliography on Software Engineering Environment Integration. ACM Software Engineering Notes, 17(3), July 1992, pages 47–55.
Buss, E. (1994).Investigating Reverse Engineering Technologies for the CAS Program Understanding Project. IBM Systems Journal, 33 (3), August 1994, pages 477–500.
CACM (1991). Collaborative Computing. Communications of the ACM, Special Issue, December 1991.
CACM (1997). Mylopoulos, J. and Papazoglou, M. (Editors).Special Issue on Cooperative Information Systems.Ieee Expert.
Cagan, M. R. (1990).The HP SoftBench Environment:An Architecture for a New Generation of Software Tools.Hewlett-Packard Journal, 41 (3), June 1990, pages 36–47.
Chase, M. (1996).Analysis and Presentation of Recovered Software Architec- tures. In Proceedings of Working Conference on Reverse Engineering (WCRE), Monterey, CA, Ieee Computer Society Press, November 1996, pages 153–162.
Choi, S. C. and Scacchi, W. (1990). Extracting and Restructuring the Design of Large Systems. Ieee Software, 7 (1), January 1990, pages 66–71.
Consens, M., Mendelzon, A., and Ryman, A. (1992). Visualizing and Querying Software Structures. In Proceedings of the 14th International Conference on Software Engineering (ICSE), Melbourne, Australia; Ieee Computer Society Press, May 1992, pages 138–156.
Constantopoulos, P. et al. (1995). The Software Information Base: A Server for Reuse. Very Large Data Bases Journal, 4, pages 1–43.
Curtis, B., Kellner, M., and Over, J. (1979). Measuring the Psychological Com- plexity of Software Maintenance Tasks with the Halstead and McCabe Met- rics. Ieee Transactions on Software Engineering, SE-5, March 1979, pages 96–104.
Curtis, B., Kellner, M., and Over, J. (1992).Process Modeling. Communications of the ACM, 35 (9),September 1992, pages 75–90.
Devanbu, P. (1992). Genoa—A Customizable Language-and Front-End In- dependent Code Analyzer. In Proceedings of the 14th International Confer- ence on Software Engineering (ICSE), Melbourne, Australia, Ieee Computer Society Press, May 1992, pages 307–317.
Devanbu, P. and Jones, M. (1997). The Use of Description Logics in Kbse Systems. ACM Transactions on Software Engineering and Methodology, 6(2), April 1997.
Devanbu, P. (1991). Lassie: A Knowledge-based Software Information System. Communications of the ACM 34 (5), May 1991, pages 34–49.
ECMA (1990). Ecma: Portable Common Tool Environment, Technical Report Ecma-149, Geneva, Switzerland.
Gamma, E., Richard, H., Johnson, R. and Vlissidos, J. (1995). Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley Publish- ing Co., Reading, MA.
Gosling, J., Joy, B. and Steele, G. (1996). The Java Language Specification, Addison-Wesley Publishing Co., Reading, MA.
Gruber, T. (1993). A Translation Approach to Portable Ontology Specifications. Knowledge Acquisition 5, No. 2, March 1993, pages 199–220.
Halstead, M. and Maurice, H. (1977). Elements of Software Science, Elsevier North-Holland Publishing Co., New York.
Hammer, J. (1995). The Stanford Data Warehousing Project. Ieee Data Engi- neering Bulletin, June 1995.
Jagadish, H., Mendelzon, A., and Milo, T. (1995). Similarity-based Queries. In Proceedings of the Fourteenth Acm Sigact-Sigmod-Sigart Sympo- sium on Principles of Database Systems (PODS), San Jose, CA, May 1995, pages 36–45.
Johnson, H. (1996). Navigating the Textual Redundancy Web in Legacy Source. In Proceedings of Cascon `96, Toronto, Ontario, November 1996, pages 7–16.
Jurisica,and Glasgow,J.(1997)Improving performance of Case-based Classification Using Context-based Reloevance. International journal of Artifi cial Intelligence Tools, special issue of Ieee ITCAI-96 Best Papers 6, No. 3&4.
Kafura, D. and Reddy, G. (1987). The Use of Software Complexity Metrics in Software Maintenance. Ieee Transactions on Software Engineering, SE-13(3), March 1987, pages 335–343.
Kaiser, G. et al. (1997). An Architecture for WWW-based Hypercode Environ- ments. In Proceedings of the 19th International Conference on Software Engineering (ICSE), Boston, MA, Ieee Computer Society Press, May 1997, pages 3–13.
Klas, W. and Sheth, A. (Editors). (1994). Special Issue: Metadata for Digital Media. Acm Sigmod Record, 23(4), December 1994.
Kontogiannis, K. et al. (1996). Pattern Matching for Clone and Concept Detec- tion. Journal of Automated Software Engineering, 3, pages 77–108.
Kotik, G. and Markosian, L. (1989). Automating Software Analysis and Testing Using a Program Transformation System. Reasoning Systems Inc., 3260 Hillview Avenue, Palo Alto, CA 94304.
Kozaczynski, V. et al. (1995). Architecture Specification Support for Compo- nent Integration. In Proceedings of the Seventh International Workshop on Computer-Aided Software Engineering (CASE), Toronto, Canada, Ieee Computer Society Press, July 1995, pages 30–39.
Lee, H. and Harandi, M. (1993). An Analogy-based Retrieval Mechanism for Software Design Reuse. In Proceedings of the 8th Knowledge-Based Soft- ware Engineering Conference, Chicago, IL, Ieee Computer Society Press, pages 152–159.
Mancoridis, S. (1996). The Star System, Ph.D. thesis, Department of Computer Science, University of Toronto, 10 King’s College Road, Toronto, Ontario, Canada M5S 3G4.
Mancoridis, S. and Holt, R. (1995). Extending Programming Environments to Support Architectural Design. In Proceedings of the Seventh International Workshop on Computer-Aided Software Engineering (CASE), Toronto, Ontario, Ieee Computer Society Press, July 1995, pages 110–119.
McCabe (1995). Visual Reengineering Toolset, 5501 Twin Knolls Road, Suite 111, Columbia, MD 21045. More information can be found at the Internet World Wide Web sitehttp://www.mccabe.com/visual/reeng.html.
McCabe, T. (1976). A Complexity Measure. Ieee Transactions on Software Engineering SE-2, pages 308–320.
Müller, H. and Klashinsky, K. (1988). Rigi—A System for Programming-in-the- Large. In Proceedings of the 10th International Conference on Software Engineering (ICSE), Raffles City, Singapore, Ieee Computer Society Press, April 1988, pages 80–86.
Müller, H. et al. (1993). A Reverse Engineering Approach to Subsystem Struc- ture Identification. Journal of Software Maintenance: Research and Prac- tice, 5(4), December 1993, pages 181–204
Murphy G. and Notkin, D. (1996). Lightweight Lexical Source Model Extrac- tion. ACM Transactions on Software Engineering and Methodology, April 1996, pages 262–292.
Murphy, G., Notkin, D., and Lan, S. (1996). An Empirical Study of Static Call Graph Extractors. In Proceedings of the 18th International Conference on Software Engineering, Berlin, Germany, Ieee Computer Society Press, March 1996, pages 90–100.
Mylopoulos, J. et al. (1990). Telos: Representing Knowledge About Information Systems. ACM Transactions on Information Systems, 8(4), October 1990, pages 325–362.
Nagl, M. (Editor). (1996). Building Tightly Integrated Software Development Environments: The IPSEN Approach, Lecture Notes in Computer Science 1170, Springer-Verlag, Inc., New York.
Ning, J. (1989). A Knowledge-based Approach to Automatic Program Analysis, Ph.D. thesis, Department of Computer Science, University of Illinois at Urbana-Champaign.
Olsem, M. (1997). Software Reengineering Assessment Handbook, United States Air Force Software Technology Support Center, 00-ALC/Tisec, 7278 4th Street, Hill Air Force Base, Utah 84056–5205.
OMG (1991). Object Management Group, Inc. The Common Object Request Broker: Architecture and Specification, Framingham Corporate Center, 492 Old Connecticut Path, Framingham, MA 01701, December 1991.
Ousterhout, J. (1994). Tcl and the Tk Toolkit, Addison-Wesley Publishing Co., Reading, MA.
Parr, T. J. (1996). Language Translation Using Pccts and C++: A Reference Guide, Automata Publishing Company, 1072 South De Anza Blvd., Suite A107, San Jose, CA 95129.
Patil, R. et al. (1992). The Darpa Knowledge Sharing Effort: Progress Report. In Proceedings of the Third International Conference on Principles of Knowledge Representation and Reasoning, Boston.
Penny, P. (1992). The Software Landscape: A Visual Formalism for Programming-in-the-Large, Ph.D. thesis, Department of Computer Science, University of Toronto.
Pitkow, J. and Jones, K. (1996). Supporting the Web: A Distributed Hyperlink Database System. Fifth International World Wide Web Conference (WWW96), Paris, May 1996.
Quilici, A. (1994). A Memory-based Approach to Recognizing Programming Plans. Communications of the ACM, 37 (5), May 1994, pages 84–93.
Reiss, S. (1990). Connecting Tools Using Message Passing in the Field Environment. Ieee Software, 7 (3), July 1990, pages 57–66.
Schefstrom, D. and Van den Broek, G. (1993). Tool Integration: Environments and Frameworks, John Wiley & Sons, Inc., New York.
Selby, R. and Basili, V. (1991). Analyzing Error-Prone System Structure. Ieee Transactions on Software Engineering, SE-17(2), February 1991, pages 141–152.
Seligman, L. and Rosenthal, A. (1996). A Metadata Resource to Promote Data Integration. In Ieee Metadata Conference, Silver Spring, MD, Ieee Computer Society Press, April 1996.
Sowa, J. F. and Zachman, J. A. (1992). Extending and Formalizing the Framework for Information Systems Architecture. IBM Systems Journal, 31 (3), 590–616.
Stallman, R. (1981). Emacs: The Extensible, Customizable, Self-Documenting Display Editor. In Proceedings of the Symposium on Text Manipulation, Portland, OR, June 1981, pages 147–156.
Storey, M.-A. et al. (1996). On Designing an Experiment to Evaluate a Reverse Engineering Tool. In Proceedings of the Working Conference on Reverse Engineering (WCRE), Monterey, CA, Ieee Computer Society Press, November 1996, pages 31–40.
Tilley, S. et al. (1994). Programmable Reverse Engineering. International Journal of Software Engineering and Knowledge Engineering, 4(4), December 1994, pages 501–520.
Valetto, G. and Kaiser, G. (1995). Enveloping Sophisticated Tools into Computer-Aided Software Engineering Environments. In Proceedings of the Seventh International Workshop on Computer-Aided Software Engineering (CASE), Toronto, Ontario, Ieee Computer Society Press, July 1995, pages 40–48.
Van der Linden, F. and Muller, J. (1995). Creating Architectures with Building Blocks. Ieee Software, 12 (6), November 1995, pages 51–60.
Wall, L., Christiansen, T., and Schwartz, R. (1996). Programming Perl, O’Reilly and Associates Inc., 101 Morris Street, Sebastopol, CA 95472.
Weiser, M. (1984). Program Slicing. Ieee Transactions on Software Engineering, SE-10(4), July 1984, pages 352–357.
Wiederhold, G. (1995). The Conceptual Technology for Mediation. International Conference on Cooperative Information Systems, Vienna, May 1995.
Wills, 1. and Rich, C. (1990). Recognizing a Program’s Design: A Graph-Parsing Approach. Ieee Software, 7 (1), January 1990, pages 82–89.
Wong, K. (1993). Managing Views in a Program Understanding Tool. In Proceedings of Cascon `93, Toronto, Ontario, October 1993, pages 244–249.
WWW5 (1996). Fifth International World Wide Web Conference, Paris, May 1996.
Zachman, J. A. (1987). A Framework for Information Systems Architecture. IBM Systems Journal, 26 (3), pages 276–292.
Editor information
Rights and permissions
Copyright information
© 2002 Springer Science+Business Media New York
About this chapter
Cite this chapter
Finnigan, P. et al. (2002). The Software Bookshelf. In: Erdogmus, H., Tanir, O. (eds) Advances in Software Engineering. Springer, New York, NY. https://doi.org/10.1007/978-0-387-21599-0_14
Download citation
DOI: https://doi.org/10.1007/978-0-387-21599-0_14
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4419-2878-8
Online ISBN: 978-0-387-21599-0
eBook Packages: Springer Book Archive