4.5 Article

Code search with input/output queries: Generalizing, ranking, and assessment

期刊

JOURNAL OF SYSTEMS AND SOFTWARE
卷 116, 期 -, 页码 35-48

出版社

ELSEVIER SCIENCE INC
DOI: 10.1016/j.jss.2015.04.081

关键词

Semantic code search; Symbolic execution; SMT solvers

资金

  1. NSF [SHF-1218265, SHF-EAGER-1446932]
  2. NSF GRFP [CFDA-47.076]
  3. Harpole-Pentair endowment at Iowa State University
  4. Google Faculty Research Award
  5. AFOSR [9550-10-1-0406]
  6. Direct For Computer & Info Scie & Enginr
  7. Division of Computing and Communication Foundations [1446683, 1218265, 1446932, 1646813] Funding Source: National Science Foundation

向作者/读者索取更多资源

In this work we generalize, improve, and extensively assess our semantic source code search engine through which developers use an input/output query model to specify what behavior they want instead of how it may be implemented. Under this approach a code repository contains programs encoded as constraints and an SMT solver finds encoded programs that match an input/output query. The search engine returns a list of source code snippets that match the specification. The initial instantiation of this approach showed potential but was limited. It only encoded single-path programs, reported just complete matches, did not rank the results, and was only partly assessed. In this work, we explore the use of symbolic execution to address some of these technical shortcomings. We implemented a tool, Satsy, that uses symbolic execution to encode multi-path programs as constraints and a novel ranking algorithm based on the strength of the match between an input/output query and the program paths traversed by symbolic execution. An assessment about the relevance of Satsy's results versus other search engines, Merobase and Google, on eight novice-level programming tasks gathered from StackOverflow, using the opinions of 30 study participants, reveals that Satsy often out-performs the competition in terms of precision, and that matches are found in seconds. (C) 2015 Elsevier Inc. All rights reserved.

作者

我是这篇论文的作者
点击您的名字以认领此论文并将其添加到您的个人资料中。

评论

主要评分

4.5
评分不足

次要评分

新颖性
-
重要性
-
科学严谨性
-
评价这篇论文

推荐

暂无数据
暂无数据