4 research outputs found

    A Recommender Agent for Software Libraries: An Evaluation of Memory-Based and Model-Based Collaborative Filtering

    Full text link
    Abstract—Software Agents can conveniently facilitate knowl-edge discovery and knowledge sharing across an organisation. We contend that programming tasks are often mimicked, that knowledge concerning reusable libraries can be extracted auto-matically from source code repositories, and that this knowledge can then be filtered and presented to a developer in a manner that will encourage and support future software reuse. We introduce RASCAL, a recommender agent that continually recommends a set of task relevant library methods to a developer. RASCAL learns information regarding how a particular reusable library is used and then employs this insight to make task relevant recommendations to a developer. In this paper we detail our RASCAL agent and describe two recommendation techniques; namely Model-Based and Memory-Based Collabora-tive Filtering. We are interested in producing a scalable and efficient realtime recommender and thus ideally would favor a Model-Based approach. However, each scheme is evaluated against both runtime performance and recommendation accu-racy. We present results and discuss the merits and limitations of each technique. I

    Case-Based Reuse of Software Examplets

    No full text
    We present a software tool for examplet reuse. We define examplets to be goal-directed snippets of source code, often written for tutorial purposes, that show how to use program library facilities to achieve some task. Our tool allows users to specify both their goal (in free text) and their `situation' (the source code on which they are working). The system combines text retrieval and spreading activation through a semantic net representation of the source code

    Case-Based Reuse of Software Examplets

    No full text
    Abstract: We present a software tool for examplet reuse. We define examplets to be goal-directed snippets of source code, often written for tutorial purposes, that show how to use program library facilities to achieve some task. Our tool allows users to specify both their goal (in free text) and their ‘situation ’ (the source code on which they are working). The system combines text retrieval and spreading activation through a semantic net representation of the source code
    corecore