skip to main content
article
Free Access

Signature matching: a tool for using software libraries

Authors Info & Claims
Published:01 April 1995Publication History
Skip Abstract Section

Abstract

Signature matching is a method for organizing, navigating through, and retrieving from software libraries. We consider two kinds of software library components—functions and modules—and hence two kinds of matching—function matching and module matching. The signature of a function is simply its type; the signature of a module is a multiset of user-defined types and a multiset of function signatures. For both functions and modules, we consider not just exact match but also various flavors of relaxed match. We describe various applications of signature matching as a tool for using software libraries, inspired by the use of our implementation of a function signature matcher written in Standard ML.

References

  1. ~AGRESTi, W. W. AND MCGARRY, F.E. 1987. The Minnowbrook workshop on software reuse: A ~summary report. In Tutorml: Software Reuse: Emerging- Technology, W. Tracz, Ed. IEEE ~Computer Society Press, Los Alamitos~ Calif. Google ScholarGoogle Scholar
  2. ~A~NOLD, S. P. AND STEPOWA~, S.L. 1987. The REUSE system: Cataloguing and retrieval of ~reusable software. In Tutorml: Software Reuse: Emerging Technology, W. Tracz, Ed IEEE ~Computer Society Press~ Los Alamitos, Calif. Google ScholarGoogle Scholar
  3. ~ATT. 1993 The Standard ML of New Jersey hbrary reference manual. Tech. Rep., AT & T Bell ~Laboratories, Murray Hill, N.J.Google ScholarGoogle Scholar
  4. ~BERRY, D. 1991. The Edinburgh SML Library Tech Rep ECS-LFCS-91-148, Univ of Edin- ~burgh, U.K. April.Google ScholarGoogle Scholar
  5. ~BI~GERSTAFF, T J. AND PERLiS, A. J., Eds. 1989. Software Reusability, VoI. 1, Concepts and ~Models. ACM Press, New York. Google ScholarGoogle Scholar
  6. ~BISCHOFBERGER, W.a. 1992 Sniff--a pragmatic approach to a C ++ programming environ- ~ment. In USENIX C++ Conference. USENIX Assoc., Berkeley, Cahf., 67 81.Google ScholarGoogle Scholar
  7. ~CONSENS, M., MENDELZON, A., AND RYMAN, A. 1992 Visualizing and querying software struc- ~tures. In Proceedings of the 14th I, ternational Conference on Software Engzneemng. IEEE ~Computer Society Press, Los Alamitos, Cahf., 138-156. Google ScholarGoogle Scholar
  8. ~DI COSMO, R. 1992 Type isomorph~sms in a type-assignment framework. In the 19th Annual ~Symposium on Principles of Programming Languages. ACM, New York, 200 210. Google ScholarGoogle Scholar
  9. ~FIELD, A. J. AND HARRISON, P. G. 1988. Functl. onal Programming. Addison-Wesley, Reading, ~Mass.Google ScholarGoogle Scholar
  10. ~FISCHER, B, KIEVERNAGEL, M., AND STRUCKMANN, W. 1994. VCR: A VDM-based software ~component retrieval tool. Tech. Rep. 94-08, Technical Univ. of Braunschweig, Germany Nov.Google ScholarGoogle Scholar
  11. ~FONTANA, M. AND NEATH, M. 1991. Checked out and long overdue: Experiences in the design of ~a C 4% class library. In USENIX C44- Conference. USENIX Assoc., Berkeley, Calif., 179-191.Google ScholarGoogle Scholar
  12. GARLanD, S. J. AND GUTTAG, J.V. 1991. A guide to LP, the Larch Prover. Rep. 82, DEC ~Sys~ems Research Center, Palo Alto, Calif. Dec.Google ScholarGoogle Scholar
  13. ~GUTTAG, J. ANn HORNING, J. 1993. Larch: Languages and Tools for Formal Specification. ~Springer-Verlag, New York. Google ScholarGoogle Scholar
  14. ~HELM., R. AND MAAREK, Y. S. 1991. Integrating information retrieval and domain specific ~approaches for browsing and retrieval in object-oriented class libraries. In OOPSLA Confer- ~ence Proceedings. ACM, New York, 47-61. Google ScholarGoogle Scholar
  15. ~JENG, J. J. AND CHENG, B. H.C. 1992. Formal methods applied to reuse. In Proceedings of the ~5th Workshop on Software Reuse.Google ScholarGoogle Scholar
  16. ~KATZ, S., RICHTEn, C. A., ANn THE, K.-S. 1987. A system for reusing partially interpreted ~schemas. In Proceedings of the 9th International Conference on Software Engineering IEEE ~Computer Society Press, Los Alamitos, Calif., 377-385. Google ScholarGoogle Scholar
  17. ~MAAR~K, Y. S., BERRY, D. M., AND KAISER, G.E. 1991. An information retrieval approach for ~automatically constructing software libraries. IEEE Trans. Softw. Eng. 8, 17 (Aug.), 800-813. Google ScholarGoogle Scholar
  18. ~MILl, A., MILI, R., AND MITTERMEIR, R. 1994. Storing and retrieving software components: A ~refinement-based approach. In Proceedings of the 16th International Conference on Software En~,~ineering. IEEE Computer Society Press, Los Alamitos, Calif. Google ScholarGoogle Scholar
  19. ~MILNEa, R. 1978. A theory of type polymorphism in programming J. Comput. Syst. Scf. 17, 3 ~(Dec.), 348-375.Google ScholarGoogle Scholar
  20. ~MILNI,m, R., TOFTE, M., AND HAaSna, R. 1990. The Definition of Standard ML. MIT Press, ~Cambridge, Mass. Google ScholarGoogle Scholar
  21. ~OSTERTA~, E., HENDLEa, J., PaIETO-DfAz, R, AND BRAUN, C. 1992. Computing similarity in a ~reuse library system: An AI-based approach. ACM Trans. Softw. Eng. Meth. 1, 3 (July), ~205-228. Google ScholarGoogle Scholar
  22. ~PAUL, S. AND PRAKASH, A. 1994. A framework for source code search using program patterns. ~IEEE Trans. Softw. Eng. 20, 6 (June), 463-475. Google ScholarGoogle Scholar
  23. ~PEARY, D.E. 1989. The Inscape environment. In Proceedings of the 11th International Confer- ~ence on Software Engineering. IEEE Computer Society Press, Los Alamitos, Calif., 2 12. Google ScholarGoogle Scholar
  24. ~PRIETO-DfAz, R. 1989. Classification of reusable modules. In Software Reusability. Vol 1, ~Cor~cepts and Models, T. J. Biggerstaff and A. J. Perlis, Eds. ACM Press, New York, 99-123. Google ScholarGoogle Scholar
  25. ~RAMAMOORTHY, C. V., Ed. 1984. IEEE Trans. Softw. Eng. SE-IO, 5 (Sept.).Google ScholarGoogle Scholar
  26. ~RITTRI, M. 1989. Using types as search keys in function libraries. In the Conference on ~Functional Programming Languages and Computer Architectures. Addison-Wesley~ Reading, ~Mass., 174-183. Google ScholarGoogle Scholar
  27. ~RITTRI, M. 1992. Retrieving library identifiers via equational matching of types. Tech. Rep. 65, ~Programming Methodology Group, Dept. of Computer Sciences, Chalmers Univ. of Technology ~and Univ. of Gi)teborg. (Reprinted with corrections May 1992).Google ScholarGoogle Scholar
  28. ~ROLLINS, E. J. AND WING, J.M. 1991. Specifications as search keys for software libraries. In ~Proceedings of the 8th International Conference on Logic Programming. MIT Press, Cambridge, ~Mass.Google ScholarGoogle Scholar
  29. ~RUNCIMAN, C. AND TOYN, I. 1989. Retrieving re-usable software components by polymorphic ~type. In the Conference on Functional Programming Languages and Computer Architectures. ~Addi~on-Wo~loy, R~ading, Mas~., 166-1%2. Google ScholarGoogle Scholar
  30. ~STRINGER-CALVERT, D. W.J. 1994. Signature matching for Ada software reuse. Master's thesis, ~Univ. of York, York, England.Google ScholarGoogle Scholar
  31. ~SNELTING, G., GROSCH, F.-J., AND SCHROEDER~ U. 1991. Inference-based support for program- ~ming in the large. In the 3rd European Software Engineering Conference, A. van Lamsweerde ~and A. Fugetta, Eds. Lecture Notes in Computer Science, vol. 550. Sprlnger-Verlag, New York, ~39(;-408. Google ScholarGoogle Scholar
  32. STALLMAN, R. 1986. GNU Emacs Manual. Free Software Foundation, Cambridge, Mass. Google ScholarGoogle Scholar
  33. ~STEELE, Cr. L., JR. 1984. Common L~sp, The Language. Digital Press, Maynard, Mass. Google ScholarGoogle Scholar
  34. TESLEa, L. 1981. The Smalltalk environment. BYTE 6, 8 (Aug.), 90-147.Google ScholarGoogle Scholar
  35. ~TARDtTI, D. AND ROLLINS, G. 1993. Local guide to Standard ML. Tech. Rep., CMU, Pittsburgh, ~Pa. March.Google ScholarGoogle Scholar
  36. ~W~NG, J. M, ROLLINS, E., AND ZAREMSKI, A. M. 1993. Thoughts on a Larch/ML and a new ~application for LP. In the 1st International Workshop on Larch, U. Martin and J. M. Wing, Eds. ~Springer-Verlag, New York. Google ScholarGoogle Scholar
  37. ~YELLIN, D. M. AND STROM~ R. E 1994. Interfaces, protocols and the semi-automatic construc- ~tion of software adaptors. In OOPSLA Con/~rence Proceedings SIGPLAN Not. 29, 10 (Oct.), ~176-190. Google ScholarGoogle Scholar
  38. ~ZAREMSKI, A. M. A~D WING, J. M. 1995. Specification matching of software components. In ~Proceedings of SIGSOFT '95: 3rd ACM SIGSOFT Symposium on the Foundations of Software ~Engineering. ACM, New York. To be published. Google ScholarGoogle Scholar

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

Full Access

  • Published in

    cover image ACM Transactions on Software Engineering and Methodology
    ACM Transactions on Software Engineering and Methodology  Volume 4, Issue 2
    April 1995
    111 pages
    ISSN:1049-331X
    EISSN:1557-7392
    DOI:10.1145/210134
    Issue’s Table of Contents

    Copyright © 1995 ACM

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 1 April 1995
    Published in tosem Volume 4, Issue 2

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • article

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader