Skip to main content

Retrieval of Java classes for case-based reuse

  • Conference paper
  • First Online:
Advances in Case-Based Reasoning (EWCBR 1998)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 1488))

Included in the following conference series:

Abstract

Rapid prototyping in object-oriented programming requires effective retrieval of reusable classes. This paper describes the methods used in the retrieval phase of a case-based component in a prototyping tool for the Java programming language. The case-based tool aids in class retrieval and reuse. Java has a reflective ability in the sense that classes may be asked for their methods, fields, constructors, and other information. We use this information to automatically generate features used to index the Java classes. We use both the reflected information, and knowledge inferred from that information. We describe the retrieval algorithm used in the case-based tool, and show some example runs.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Agnar Aamodt and Enric Plaza. Case-based reasoning: Foundational issues, methodological variations, and system approaches. AI Communications, 7(1):39–59, 1994.

    Google Scholar 

  2. K.-D. Althoff, A. Birk, Gresse von Wangenheim, and C. Tautz. Case-based reasoning for experimental software engineering. In M. Lenz, B. Bartch-Spörl, H.-D. Burkhard, and S. Wess, editors, Case-Based Reasoning Technology — From Foundations to Applications, pages 235–254. Springer-Verlag, 1998.

    Google Scholar 

  3. Sanjay Bhansali and Mehdi T. Haiandi. Synthesis of UNIX programs using derivational analogy. Machine Learning, 10:7–55, 1993.

    Google Scholar 

  4. Ted Biggerstaff and Charles Richter. Reusability framework, assessment, and directions. In Ted J. Biggerstaff and Alan J. Perlis, editors, Software Reusability. Vol. I. Concepts and Models, chapter 1, pages 1–17. Addison Wesley, 1989.

    Google Scholar 

  5. Dennis de Champeaux. Object-Oriented Development Process and Metrics. Prentice-Hall, 1997. ISBN 0-13-099755-2.

    Google Scholar 

  6. Nachum Dershowitz. Programming by analogy. volume II of Machine Learning: An artificial intelligence approach, chapter 15, pages 393–421. Morgan Kaufmann Inc., Los Altos, California, 1986.

    Google Scholar 

  7. Carmen Fernández-Chamizo, Pedro A. González-Calero, Luis Hernández-Yánez, and Alvaro Urech-Baqué. Case-based retrieval of software components. Expert Systems with Applications, 9(3):397–405, 1995.

    Article  Google Scholar 

  8. Gilles Fouqué and Stan Matwin. A case-based approach to software reuse. Journal of Intelligent Information Systems, 1:165–197, 1993.

    Article  Google Scholar 

  9. E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley professional computing series. Addison-Wesley Publishing Company, Reading, MA, 1995.

    Google Scholar 

  10. James Gosling, Bill Joy, and Guy Steele. The Java Language Specification. The Java Series. Addison-Wesley, Reading MA, 1 edition, 1996. ISBN 0-201-63455-4.

    MATH  Google Scholar 

  11. Scott Henninger. Tools supporting the creation and evolution of software development knowledge. In Proceedings of the 12th Annual Conference on Automated Software Engineering, pages 46–53. IEEE Computer Society Press, 1997.

    Google Scholar 

  12. J.L. Kolodner, R.L. Simpson, and K. Sycara-Cyranski. A process model of case-based reasoning in problem solving. In Proceedings IJCAI-9, pages 284–290, Los Angeles, CA, 1985.

    Google Scholar 

  13. N.A. Maiden and A.G. Sutcliffe. Exploiting reusable specifications through analogy. Communications of the ACM, 35(4):55–64, 1992.

    Article  Google Scholar 

  14. Kanth Miriyala and Mehdi T. Harandi. Automatic derivation of formal software specifications from informal descriptions. IEEE Trans. Software Engineering, 17(10):1126–1142, 1991.

    Article  Google Scholar 

  15. Tim O'Shea. The learnability of object-oriented programming systems. In OOPSLA '86 Proceedings, pages 502–504, New York, NY, September 1986. ACM, ACM Press.

    Google Scholar 

  16. Christos H. Papadimitriou and Kenneth Steiglitz. Combinatorial Optimization: Algorithms and Complexity. Prentice-Hall, Inc., Englewood Cliffs, N.J., 1982.

    Google Scholar 

  17. Rubén Prieto-Diaz. A software classification scheme. Technical Report 85-19, University of California, Irvine, Irvine, California 92717, 1985. Department of Information and Computer Science.

    Google Scholar 

  18. George Spanoudakis and Panos Constantopoulos. Analogical reuse of requirements specifications: A computational models. Applied Artificial Intelligence, 10(4):281–306, 1996.

    Article  Google Scholar 

  19. Sun Microsystems, Mountain View, CA. JDK 1.1.5 Documentation, 1998. http://java.sun.com/products/jdk/1.1/docs/index.html.

    Google Scholar 

  20. Bj0rnar Tessem and Solveig Bj0rnestad. Analogy and complex software modeling. Computers in Human Behavior, 13(4):465–486, 1997.

    Article  Google Scholar 

  21. R. Alan Whitehurst. Systematic Software Reuse Through Analogical Reasoning. PhD thesis, University of Illinois, Urbana-Champaign, IL, 1995.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Barry Smyth Pádraig Cunningham

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Tessem, B., Whitehurst, R.A., Powell, C.L. (1998). Retrieval of Java classes for case-based reuse. In: Smyth, B., Cunningham, P. (eds) Advances in Case-Based Reasoning. EWCBR 1998. Lecture Notes in Computer Science, vol 1488. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0056329

Download citation

  • DOI: https://doi.org/10.1007/BFb0056329

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-64990-8

  • Online ISBN: 978-3-540-49797-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics