2018 IEEE 18th International Working Conference on Source Code Analysis and Manipulation (SCAM) 2018
DOI: 10.1109/scam.2018.00018
|View full text |Cite
|
Sign up to set email alerts
|

[Research Paper] Semantics-Based Code Search Using Input/Output Examples

Abstract: As the quality and quantity of open source code increase, semantics-based code search has become an emerging need for software developers to retrieve and reuse existing source code. We present an approach of semantics-based code search using input/output examples for the Java language. Our approach encodes Java methods in code repositories into path constraints via symbolic analysis and leverages SMT solvers to find the methods whose path constraints can satisfy the given input/output examples. Our approach ex… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

1
6
0

Year Published

2020
2020
2023
2023

Publication Types

Select...
4
3

Relationship

2
5

Authors

Journals

citations
Cited by 7 publications
(8 citation statements)
references
References 17 publications
1
6
0
Order By: Relevance
“…This work extends our previous research reported in [22]. The main differences between this work and the previous one include the following.…”
Section: Introductionsupporting
confidence: 76%
“…This work extends our previous research reported in [22]. The main differences between this work and the previous one include the following.…”
Section: Introductionsupporting
confidence: 76%
“…Embeddings such as ProGraML [42] achieve upwards of 95% accuracy in clone detection, and a number of other machine-learning approaches using static information exist [30,51,55,95,101,132,134,139]. Dynamic runtime information can also be used for this task [129] and numerous approaches developed without machine learning exist [69,70,74,110]. API-recommendation tools [65,68] can also be used for algorithm identification.…”
Section: Algorithm Identificationmentioning
confidence: 99%
“…Most code search approaches are based on information retrieval techniques to find relevant code snippets depending on a query either formulated directly by the developer or inferred from the code [1]. Some approaches focus on recommending specific types of snippets, such as framework usages [21], Java methods [1], exception handling examples [43], auxiliary functionalities [29] or API usages [42], while others are general purpose [22,23,25,35,45,49]. Approaches inferring a query from the code can be based on tokens and/or statements similarity [1,49], structural code features [21,25,35,43], or lexical ones [43].…”
Section: Related Workmentioning
confidence: 99%