Searching the library and asking the peers: learning to use Java APIs on demand

  • Authors:
  • Yunwen Ye;Yasuhiro Yamamoto;Kumiyo Nakakoji;Yoshiyuki Nishinaka;Mitsuhiro Asada

  • Affiliations:
  • University of Colorado, Boulder and SRA Key Technology Lab, Tokyo, Japan;University of Tokyo, Japan;University of Tokyo, Japan and SRA Key Technology Lab, Tokyo, Japan;SRA Key Technology Lab, Tokyo, Japan;SRA Key Technology Lab, Tokyo, Japan

  • Venue:
  • Proceedings of the 5th international symposium on Principles and practice of programming in Java
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

The existence of large API libraries contributes significantly to the programming productivity and quality of Java programmers. The vast number of available library APIs, however, presents a learning challenge for Java programmers. Most Java programmers do not know all the APIs. Whenever their programming task requires API methods they do not yet know, they have to be able to find what they need and learn how to use them on demand. This paper describes a tool called STeP_IN_Java (a Socio-Technical Platform for In situ Networking of Java programmers) that helps Java programmers find APIs, and learn from both examples and experts how to use them on demand. STeP_IN_Java features a sophisticated yet easy-to-use search interface that enables programmers to conduct a personalized search and to progressively refine their search by limiting search scopes. Example programs are provided and embedded to assist programmers in using APIs. Furthermore, if a programmer still has questions about a particular API method, he or she can ask peer programmers. The STeP_IN_Java system automatically routes the question to a group of experts who are chosen based on two criteria: they have high expertise on the particular API method and they have a good social relationship with the programmer who is requesting the information.