2016
DOI: 10.1016/j.jss.2015.04.081
|View full text |Cite
|
Sign up to set email alerts
|

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

Abstract: a b s t r a c tIn 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 th… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
7
0

Year Published

2016
2016
2021
2021

Publication Types

Select...
3
3
3

Relationship

0
9

Authors

Journals

citations
Cited by 38 publications
(7 citation statements)
references
References 35 publications
0
7
0
Order By: Relevance
“…Satsy [32] utilizes symbolic execution engines to support the encoding work on multi-path programs, and then ranks code candidates based on the matching degree between the query and encoded program paths. Quebio [33] encodes code snippets into path constraints via symbolic analysis and returns the fulfilled programs.…”
Section: B Constraint-based Code Searchmentioning
confidence: 99%
“…Satsy [32] utilizes symbolic execution engines to support the encoding work on multi-path programs, and then ranks code candidates based on the matching degree between the query and encoded program paths. Quebio [33] encodes code snippets into path constraints via symbolic analysis and returns the fulfilled programs.…”
Section: B Constraint-based Code Searchmentioning
confidence: 99%
“…According to the fact that black-box behavior is representable through program input-output, several works incorporate program input-output as their query. Users can provide either test cases (Lemos, et al, 2007), input-output data types (Thummalapenta & Xie, 2007;Reiss, 2009), or input-output query model (Stolee, et al, 2016) to refine their retrieval result. On the one hand, test cases are incorporated for retrieving only source codes which output is similar to given test-case output while its respective input is given.…”
Section: Related Workmentioning
confidence: 99%
“…Other approaches use symbolic execution [218], formal logic and theorem prover to identify relevant components [184]. Other semantic code search engines execute test cases on candidate code [121,195].…”
Section: Code Recommendationmentioning
confidence: 99%