Skip to main content

The Software Bookshelf

  • Chapter
Advances in Software Engineering

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 79.95
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

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.

    Google Scholar 

  • Arnold, R. (1993). Software Reengineering. Ieee Computer Society Press, NY.

    MATH  Google Scholar 

  • 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.

    Chapter  Google Scholar 

  • Bernstein, P. and Dayal, U. (1994). An Overview of Repository Technology. International Conference on Very Large Databases, Santiago, Chile, Sep- tember 1994.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Buss, E. (1994).Investigating Reverse Engineering Technologies for the CAS Program Understanding Project. IBM Systems Journal, 33 (3), August 1994, pages 477–500.

    Article  Google Scholar 

  • CACM (1991). Collaborative Computing. Communications of the ACM, Special Issue, December 1991.

    Google Scholar 

  • CACM (1997). Mylopoulos, J. and Papazoglou, M. (Editors).Special Issue on Cooperative Information Systems.Ieee Expert.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Choi, S. C. and Scacchi, W. (1990). Extracting and Restructuring the Design of Large Systems. Ieee Software, 7 (1), January 1990, pages 66–71.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • Constantopoulos, P. et al. (1995). The Software Information Base: A Server for Reuse. Very Large Data Bases Journal, 4, pages 1–43.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • Curtis, B., Kellner, M., and Over, J. (1992).Process Modeling. Communications of the ACM, 35 (9),September 1992, pages 75–90.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Devanbu, P. (1991). Lassie: A Knowledge-based Software Information System. Communications of the ACM 34 (5), May 1991, pages 34–49.

    Article  Google Scholar 

  • ECMA (1990). Ecma: Portable Common Tool Environment, Technical Report Ecma-149, Geneva, Switzerland.

    Google Scholar 

  • 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.

    Google Scholar 

  • Gosling, J., Joy, B. and Steele, G. (1996). The Java Language Specification, Addison-Wesley Publishing Co., Reading, MA.

    Google Scholar 

  • Gruber, T. (1993). A Translation Approach to Portable Ontology Specifications. Knowledge Acquisition 5, No. 2, March 1993, pages 199–220.

    Article  Google Scholar 

  • Halstead, M. and Maurice, H. (1977). Elements of Software Science, Elsevier North-Holland Publishing Co., New York.

    MATH  Google Scholar 

  • Hammer, J. (1995). The Stanford Data Warehousing Project. Ieee Data Engi- neering Bulletin, June 1995.

    Google Scholar 

  • 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.

    Chapter  Google Scholar 

  • Johnson, H. (1996). Navigating the Textual Redundancy Web in Legacy Source. In Proceedings of Cascon `96, Toronto, Ontario, November 1996, pages 7–16.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Klas, W. and Sheth, A. (Editors). (1994). Special Issue: Metadata for Digital Media. Acm Sigmod Record, 23(4), December 1994.

    Google Scholar 

  • Kontogiannis, K. et al. (1996). Pattern Matching for Clone and Concept Detec- tion. Journal of Automated Software Engineering, 3, pages 77–108.

    Article  MathSciNet  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Chapter  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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

    Google Scholar 

  • Murphy G. and Notkin, D. (1996). Lightweight Lexical Source Model Extrac- tion. ACM Transactions on Software Engineering and Methodology, April 1996, pages 262–292.

    Google Scholar 

  • 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.

    Google Scholar 

  • Mylopoulos, J. et al. (1990). Telos: Representing Knowledge About Information Systems. ACM Transactions on Information Systems, 8(4), October 1990, pages 325–362.

    Google Scholar 

  • Nagl, M. (Editor). (1996). Building Tightly Integrated Software Development Environments: The IPSEN Approach, Lecture Notes in Computer Science 1170, Springer-Verlag, Inc., New York.

    Google Scholar 

  • Ning, J. (1989). A Knowledge-based Approach to Automatic Program Analysis, Ph.D. thesis, Department of Computer Science, University of Illinois at Urbana-Champaign.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Ousterhout, J. (1994). Tcl and the Tk Toolkit, Addison-Wesley Publishing Co., Reading, MA.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Penny, P. (1992). The Software Landscape: A Visual Formalism for Programming-in-the-Large, Ph.D. thesis, Department of Computer Science, University of Toronto.

    Google Scholar 

  • Pitkow, J. and Jones, K. (1996). Supporting the Web: A Distributed Hyperlink Database System. Fifth International World Wide Web Conference (WWW96), Paris, May 1996.

    Google Scholar 

  • Quilici, A. (1994). A Memory-based Approach to Recognizing Programming Plans. Communications of the ACM, 37 (5), May 1994, pages 84–93.

    Article  Google Scholar 

  • Reiss, S. (1990). Connecting Tools Using Message Passing in the Field Environment. Ieee Software, 7 (3), July 1990, pages 57–66.

    Article  Google Scholar 

  • Schefstrom, D. and Van den Broek, G. (1993). Tool Integration: Environments and Frameworks, John Wiley & Sons, Inc., New York.

    Google Scholar 

  • Selby, R. and Basili, V. (1991). Analyzing Error-Prone System Structure. Ieee Transactions on Software Engineering, SE-17(2), February 1991, pages 141–152.

    Google Scholar 

  • 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.

    Google Scholar 

  • Sowa, J. F. and Zachman, J. A. (1992). Extending and Formalizing the Framework for Information Systems Architecture. IBM Systems Journal, 31 (3), 590–616.

    Article  Google Scholar 

  • 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.

    Chapter  Google Scholar 

  • 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.

    Google Scholar 

  • Tilley, S. et al. (1994). Programmable Reverse Engineering. International Journal of Software Engineering and Knowledge Engineering, 4(4), December 1994, pages 501–520.

    Google Scholar 

  • 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.

    Chapter  Google Scholar 

  • Van der Linden, F. and Muller, J. (1995). Creating Architectures with Building Blocks. Ieee Software, 12 (6), November 1995, pages 51–60.

    Article  Google Scholar 

  • Wall, L., Christiansen, T., and Schwartz, R. (1996). Programming Perl, O’Reilly and Associates Inc., 101 Morris Street, Sebastopol, CA 95472.

    Google Scholar 

  • Weiser, M. (1984). Program Slicing. Ieee Transactions on Software Engineering, SE-10(4), July 1984, pages 352–357.

    Google Scholar 

  • Wiederhold, G. (1995). The Conceptual Technology for Mediation. International Conference on Cooperative Information Systems, Vienna, May 1995.

    Google Scholar 

  • Wills, 1. and Rich, C. (1990). Recognizing a Program’s Design: A Graph-Parsing Approach. Ieee Software, 7 (1), January 1990, pages 82–89.

    Google Scholar 

  • Wong, K. (1993). Managing Views in a Program Understanding Tool. In Proceedings of Cascon `93, Toronto, Ontario, October 1993, pages 244–249.

    Google Scholar 

  • WWW5 (1996). Fifth International World Wide Web Conference, Paris, May 1996.

    Google Scholar 

  • Zachman, J. A. (1987). A Framework for Information Systems Architecture. IBM Systems Journal, 26 (3), pages 276–292.

    Article  Google Scholar 

Download references

Authors

Editor information

Hakan Erdogmus Oryal Tanir

Rights and permissions

Reprints 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

Publish with us

Policies and ethics