Signature Matching: A Key to Reuse

Abstract

Software reuse sounds like a good idea. It promises advantages like reducing the time and cost spent on programming, increasing programmer's productivity, and increasing program reliability BP89, AM87, IEE84, Pre87. But why doesn't it work in practice? One reason is that it is hard to find things. As libraries of software components get larger, this problem will get worse. Reuse is only worth it if it is easier to locate (and approximately modify) a reuseable component than to write it from scratch. Today, if we want to find some desired component, we could use the component's name--if we are lucky enough to know, remember, or guess it. We could browse through the library itself, or perhaps an index into the library (for example, as with a Smalltalk browser). given that the components over which we are searching are program units (e.g., Pascal procedures, C Function, Ada packages, C++ or Smalltalk classes, or Modula-3 or ML molecules), then we have another means for retrieval: signature matching. This paper presents the foundations for what signature matching means and briefly describes a signature matching facility we have built and integrated into our local ML programming environment.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
May 03, 1993
Accession Number
ADA265332

Entities

People

  • Amy M. Zaremski
  • Jeannette Wing

Organizations

  • Carnegie Mellon University

Tags

Communities of Interest

  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Air Force
  • Algorithms
  • Birds
  • Classification
  • Computer Programming
  • Computer Science
  • Computers
  • Emerging Technology
  • Engineering
  • High Level Languages
  • Information Retrieval
  • Language
  • Notation
  • Programming Languages
  • Software Development
  • Specifications
  • Standards

Fields of Study

  • Computer science

Readers

  • Applied Combinatorial Optimization and Logic Circuit Design.
  • Database Systems and Applications
  • Sensor Fusion and Tracking Systems.