Active Inductive Logic Programming for Code SearchTechnical Track
Modern search techniques either cannot efficiently incorporate human feedback to refine search results or to express structural or semantic properties of desired code. The key insight of our interactive code search technique ALICE is that user feedback could be actively incorporated to allow users to easily express and refine search queries. We design a query language to model the structure and semantics of code as logic facts. Given a code example with user annotations, ALICE automatically extracts a logic query from features that are tagged as important. Users can refine the search query by labeling one or more examples as desired (positive) or irrelevant (negative). ALICE then infers a new logic query that separates the positives from negative examples via active inductive logic programming. Our comprehensive and systematic simulation experiment shows that ALICE removes a large number of false positives quickly by actively incorporating user feedback. Its search algorithm is also robust to noise and user labeling mistakes. Our choice of leveraging both positive and negative examples and the nested containment structure of selected code is effective in refining search queries. Compared with an existing technique, Critics, ALICE does not require a user to manually construct a search pattern and yet achieves comparable precision and recall with fewer search iterations on average. A case study with users shows that ALICE is easy to use and helps express complex code patterns.
Wed 29 MayDisplayed time zone: Eastern Time (US & Canada) change
16:00 - 18:00 | Program Comprehension and ReusePapers / Journal-First Papers / Technical Track at St-Paul / Ste-Catherine Chair(s): Baishakhi Ray Columbia University, New York | ||
16:00 20mTalk | Active Inductive Logic Programming for Code SearchTechnical Track Technical Track Aishwarya Sivaraman University of California, Los Angeles, Tianyi Zhang University of California, Los Angeles, Guy Van den Broeck University of California, Los Angeles, Miryung Kim University of California, Los Angeles Pre-print | ||
16:20 10mTalk | The State of Empirical Evaluation in Static Feature LocationJournal-First Journal-First Papers Abdul Razzaq , Asanka Wasala University of Limerick, Chris Exton University of Limerick, Jim Buckley Lero - The Irish Software Research Centre and University of Limerick | ||
16:30 10mTalk | Automatic and accurate expansion of abbreviations in parametersJournal-First Journal-First Papers Yanjie Jiang Beijing Institute of Technology, Hui Liu Beijing Institute of Technology, Jiaqi Zhu Beijing Institute of Technology, Lu Zhang Peking University | ||
16:40 20mTalk | NL2Type: Inferring JavaScript Function Types from Natural Language InformationTechnical Track Technical Track Rabee Sohail Malik TU Darmstadt, Jibesh Patra Technical University of Darmstadt, Michael Pradel University of Stuttgart Pre-print Media Attached File Attached | ||
17:00 20mTalk | Analyzing and Supporting Adaptation of Online Code ExamplesTechnical TrackIndustry Program Technical Track Tianyi Zhang University of California, Los Angeles, Di Yang University of California at Irvine, USA, Crista Lopes , Miryung Kim University of California, Los Angeles Pre-print | ||
17:20 20mTalk | DockerizeMe: Automatic Inference of Environment Dependencies for Python Code SnippetsTechnical Track Technical Track | ||
17:40 20mTalk | Discussion Period Papers |