Skip to content

Commit 5727a6a

Browse files
doc: add blog
1 parent 7c4a14e commit 5727a6a

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Design Space for Code Search
2+
3+
* Code Search: A Survey of Techniques for Finding Code https://www.lucadigrazia.com/papers/acmcsur2022.pdf
4+
* Aroma: Code recommendation via structural search https://arxiv.org/pdf/1812.01158
5+
* Deep code search: https://guxd.github.io/papers/deepcs.pdf
6+
* deep neural network named (Code-Description Embedding Neural Network). Instead
7+
of matching text similarity, CODEnn jointly embeds code snippets and natural language descriptions into a high-dimensional vector space, in such a way that code snippet and its corresponding description have similar vectors. Using the unified vector representation, code snippets related to a natural language query can be retrieved according to their vectors. Semantically related words can also be recognized and irrelevant/noisy keywords in queries can be handled
8+
* FaCoY: a code-to-code search engine: https://www.darkrsw.net/papers/ICSE2018.pdf
9+
* ... statically finding code fragments which may be semantically similar to user input code. FaCoY
10+
implements a query alternation strategy: instead of directly matching code query tokens with code in the search space, FaCoY first attempts to identify other tokens which may also be relevant in implementing the functional behavior of the input code
11+
12+
* Glean: System for collecting, deriving and working with facts about source code. https://github.com/facebookincubator/glean
13+
* Relationship-Aware code search for JavaScript frameworks: https://taoxie.cs.illinois.edu/publications/fse16-racs.pdf
14+
* RACS collects a large number of code snippets that use some JavaScript frameworks, mines API usage patterns from the collected code snippets, and represents the mined patterns with method call relationship (MCR) graphs, which capture framework API methods’ signatures and their relationships. Given a natural language (NL) search query issued by a programmer, RACS conducts NL processing to automatically extract an action relationship (AR) graph, which consists of actions and their relationships inferred from the query. In this way, RACS reduces code search to the problem of graph search: finding similar MCR graphs for a given AR graph
15+
16+
* A framework for source code search using program pattern https://web.eecs.umich.edu/~aprakash/papers/paul-prakash-ieeetse94.pdf
17+
* non-deterministic finite automata, called code pattern automata, to represent relationships between code elements.
18+
* Query by Example in Large-Scale Code Repositories: https://www.researchgate.net/profile/Vipin-Balachandran-2/publication/308729994_Query_by_example_in_large-scale_code_repositories/links/5cf567f54585153c3db18991/Query-by-example-in-large-scale-code-repositories.pdf
19+
* Abstract Syntax Tree (AST) structural similarity match. The query snippet is converted to an AST, then
20+
its subtrees are compared against AST subtrees of source files in the repository and the similarity values of matching subtrees are aggregated to arrive at a relevance score for each of the source files.
21+
22+
* Semantics-Based Code Search Using Input/Output Examples https://seg.nju.edu.cn/uploadPublication/copyright/1201675797649.pdf
23+
* encodes Java methods in code repositories into path constraints via symbolic analysis and leverages SMT solvers to
24+
find the methods whose path constraints can satisfy the given input/output examples

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy