Cross-library API Recommendation Using Web Search Engines

Slides:



Advertisements
Similar presentations
Search in Source Code Based on Identifying Popular Fragments Eduard Kuric and Mária Bieliková Faculty of Informatics and Information.
Advertisements

Mining Frequent Patterns II: Mining Sequential & Navigational Patterns Bamshad Mobasher DePaul University Bamshad Mobasher DePaul University.
Large-Scale Entity-Based Online Social Network Profile Linkage.
1 Question Answering in Biomedicine Student: Andreea Tutos Id: Supervisor: Diego Molla.
LYU0101 Wireless Digital Information System Lam Yee Gordon Yeung Kam Wah Supervisor Prof. Michael Lyu Second semester FYP Presentation 2001~2002.
Pseudoinverse Learning Algorithm for Feedforward Neural Networks Guo, Ping Department of Computer Science & Engineering, The Chinese University of Hong.
香港中文大學圖書館系統 University Library System The Chinese University of Hong Kong Power up your browser: an example of using LibX at CUHK Libraries Kevin Leung.
LYU0101 Wireless Digital Information System Lam Yee Gordon Yeung Kam Wah Supervisor Prof. Michael Lyu Second semester FYP Presentation 2001~2002.
Supervised by Prof. LYU, Rung Tsong Michael Department of Computer Science & Engineering The Chinese University of Hong Kong Prepared by: Chan Pik Wah,
FACT: A Learning Based Web Query Processing System Hongjun Lu, Yanlei Diao Hong Kong U. of Science & Technology Songting Chen, Zengping Tian Fudan University.
The Web is perhaps the single largest data source in the world. Due to the heterogeneity and lack of structure, mining and integration are challenging.
The Chinese University of Hong Kong Department of Computer Science and Engineering Lyu0202 Advanced Audio Information Retrieval System.
Large-Scale Cost-sensitive Online Social Network Profile Linkage.
Yin Yang (Hong Kong University of Science and Technology) Nilesh Bansal (University of Toronto) Wisam Dakka (Google) Panagiotis Ipeirotis (New York University)
SIGIR’09 Boston 1 Entropy-biased Models for Query Representation on the Click Graph Hongbo Deng, Irwin King and Michael R. Lyu Department of Computer Science.
Temporal Event Map Construction For Event Search Qing Li Department of Computer Science City University of Hong Kong.
Automatic Software Testing Via Mining Software Data Wujie Zheng Supervisor: Prof. Michael R. Lyu Department of Computer Science & Engineering The Chinese.
An Integrated Approach to Extracting Ontological Structures from Folksonomies Huairen Lin, Joseph Davis, Ying Zhou ESWC 2009 Hyewon Lim October 9 th, 2009.
RuleML-2007, Orlando, Florida1 Towards Knowledge Extraction from Weblogs and Rule-based Semantic Querying Xi Bai, Jigui Sun, Haiyan Che, Jin.
BeeSpace Informatics Research: From Information Access to Knowledge Discovery ChengXiang Zhai Nov. 7, 2007.
Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet.
Reyyan Yeniterzi Weakly-Supervised Discovery of Named Entities Using Web Search Queries Marius Pasca Google CIKM 2007.
Improving Programmer Productivity via Mining Program Source Code Tao Xie Department of Computer Science North Carolina State University
1 PARSEWeb: A Programmer Assistant for Reusing Open Source Code on the Web Suresh Thummalapenta and Tao Xie Department of Computer Science North Carolina.
Flow-Augmented Call Graph: A New Foundation for Taming API Complexity Qirun Zhang
Distributed QoS Evaluation for Real- World Web Services Zibin Zheng, Yilei Zhang, and Michael R. Lyu July 07, 2010 Department of Computer.
1 Formal Models for Expert Finding on DBLP Bibliography Data Presented by: Hongbo Deng Co-worked with: Irwin King and Michael R. Lyu Department of Computer.
Implicit An Agent-Based Recommendation System for Web Search Presented by Shaun McQuaker Presentation based on paper Implicit:
Ruirui Li, Ben Kao, Bin Bi, Reynold Cheng, Eric Lo Speaker: Ruirui Li 1 The University of Hong Kong.
KEYS 2012 May 20, 2012, Scottsdale, Arizona, USA The Third International Workshop on Keyword Search on Structured Data.
GoogleDictionary Paul Nepywoda Alla Rozovskaya. Goal Develop a tool for English that, given a word, will illustrate its usage.
Probabilistic Query Expansion Using Query Logs Hang Cui Tianjin University, China Ji-Rong Wen Microsoft Research Asia, China Jian-Yun Nie University of.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Design and Implementation.
Link Analysis on the Web An Example: Broad-topic Queries Xin.
Debug Concern Navigator Masaru Shiozuka(Kyushu Institute of Technology, Japan) Naoyasu Ubayashi(Kyushu University, Japan) Yasutaka Kamei(Kyushu University,
2007. Software Engineering Laboratory, School of Computer Science S E Web-Harvest Web-Harvest: Open Source Web Data Extraction tool 이재정 Software Engineering.
1 Web-Page Summarization Using Clickthrough Data* JianTao Sun, Yuchang Lu Dept. of Computer Science TsingHua University Beijing , China Dou Shen,
Computer Science Automated Software Engineering Research ( Mining Exception-Handling Rules as Conditional Association.
Alattin: Mining Alternative Patterns for Detecting Neglected Conditions Suresh Thummalapenta and Tao Xie Department of Computer Science North Carolina.
Next Generation Search Engines Ehsun Daroodi 1 Feb, 2003.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University July 21, 2008WODA.
Exploiting Code Search Engines to Improve Programmer Productivity and Quality Suresh Thummalapenta Advisor: Dr. Tao Xie Department of Computer Science.
Institute of Computing Technology, Chinese Academy of Sciences 1 A Unified Framework of Recommending Diverse and Relevant Queries Speaker: Xiaofei Zhu.
WS-DREAM: A Distributed Reliability Assessment Mechanism for Web Services Zibin Zheng, Michael R. Lyu Department of Computer Science & Engineering The.
05/01/2016 SPARQL SPARQL Protocol and RDF Query Language S. Garlatti.
Hongbo Deng, Michael R. Lyu and Irwin King
API Hyperlinking via Structural Overlap Fan Long, Tsinghua University Xi Wang, MIT CSAIL Yang Cai, MIT CSAIL.
Service Reliability Engineering The Chinese University of Hong Kong
Investigating QoS of Web Services by Distributed Evaluation Zibin Zheng Feb. 8, 2010 Department of Computer Science & Engineering.
CAR-Miner: Mining Exception-Handling Rules as Sequence Association Rules Suresh Thummalapenta and Tao Xie Department of Computer Science North Carolina.
Wujie Zheng 1, Hao Ma 2, Michael Lyu 1, Tao Xie 3, and Irwin King 1,4 1 CUHK, 2 Microsoft Research, 3 NCSU, 4 AT&T Labs Nov. 9, 2011 Mining Test Oracles.
1 API Recommendation Wujie Zheng
A Collaborative Quality Ranking Framework for Cloud Components
Designing Cross-Language Information Retrieval System using various Techniques of Query Expansion and Indexing for Improved Performance  Hello everyone,
Pat P. W. Chan,  Michael R. Lyu, Roland T. Chin*
WSRec: A Collaborative Filtering Based Web Service Recommender System
A Contextual Computing approach towards Personalized Search
Statistical Learning Methods for Natural Language Processing on the Internet 徐丹云.
Personalized Social Image Recommendation
Video Summarization by Spatial-Temporal Graph Optimization
Random Unit-Test Generation with MUT-aware
Citation-based Extraction of Core Contents from Biomedical Articles
WorkShop on Community Question Answering on the Web
Web Service and Fault Tolerance Stratregy Evaluation and Selection
Code search & recommendation engines
Three steps are separately conducted
MAPO: Mining and Recommending API Usage Patterns
WSExpress: A QoS-Aware Search Engine for Web Services
Introduction to Search Engines
Presentation transcript:

Cross-library API Recommendation Using Web Search Engines Wujie Zheng, Qirun Zhang, Michael R. Lyu Department of Computer Science & Engineering The Chinese University of Hong Kong Sep. 8, 2011 Dept. of Computer Science & Engineering, CUHK ESEC/FSE 2011, Szeged, Hungary, Sep. 5-9, 2011

Cross-references of APIs Research Problem How to find cross-references of APIs in different libraries? Programming Tasks Library S: some APIs Cross-references of APIs Library T: what APIs

Related Work Recommending APIs in the same library Analyzing library code Call graph: Robillard05 (Suade), Saul07 (FRAN) Access graph: Robillard05 (Suade), Long09 (Altair) Our work Analyze the control-flow graph to capture the significance of the caller-callee linkages

Related Work Recommending APIs in the same library Analyzing client code Frequent itemset mining: Li05 (PR-Miner) Code search engines: Thummalapenta07 (PARSEWeb) Recommending APIs in different libraries Analyzing client code API mapping: Zhong10 (MAM)

The world of users’ knowledge Our New Idea From code to users’ knowledge Developers ask for and share knowledge of APIs in the Web The world of users’ knowledge Code repository

Motivating Example Developers ask equivalent APIs in C# for the “HashMap” class in Java http://stackoverflow.com/questions/1273139/c-java-hashmap-equivalent

The Approach Overview Input: API lists of the source (S) and target (T) libraries Output: Relevant APIs in T for each API in S

The Approach Web query construction Querying Web search engines The source API + the target library’s name Querying Web search engines Web services of Google’s Web search

The Approach Mining API candidates Dictionary-based approach Require the API list of the target library as inputs Calculate the frequency of each target API in the Web search results

The Approach Ranking w.r.t. the whole library To reduce the noise (common target APIs) For a source API Q and a target API T tf(T,Q): the frequency of T in Q’s search results idf(T): dividing the total number of source APIs by the number of source APIs whose search results containing T, and then taking the logarithm

Preliminary Results From JDK to .NET

Discussions Web-query construction API candidates extraction Extract keywords from a source API’s doc API candidates extraction Analyze the source code Using templates (regular expressions) API usage pattern mapping From recommending single APIs to recommending API lists (sequences)

Q&A Thanks!