DocumentCode :
2439809
Title :
Finding suitable programs: Semantic search with incomplete and lightweight specifications
Author :
Stolee, Kathryn T.
Author_Institution :
Dept. of Comput. Sci. & Eng., Univ. of Nebraska - Lincoln, Lincoln, NE, USA
fYear :
2012
fDate :
2-9 June 2012
Firstpage :
1571
Lastpage :
1574
Abstract :
Finding suitable code for reuse is a common task for programmers. Two general approaches dominate the code search literature: syntactic and semantic. While queries for syntactic search are easy to compose, the results are often vague or irrelevant. On the other hand, a semantic search may return relevant results, but current techniques require developers to write specifications by hand, are costly as potentially matching code need to be executed to verify congruence with the specifications, or only return exact matches. In this work, we propose an approach for semantic search in which programmers specify lightweight, incomplete specifications and an SMT solver automatically identifies programs from a repository, encoded as constraints, that match the specifications. The repository of programs is automatically encoded offline so the search for matching programs is efficient. The program encodings cover various levels of abstraction to enable partial matches when no or few exact matches exists. We instantiate this approach on a subset of the Yahoo! Pipes mashup language, and plan to extend our techniques to more traditional programming languages as the research progresses.
Keywords :
formal specification; information retrieval; programming languages; search engines; SMT solver; Yahoo Pipes mashup language; abstraction level; code search literature; incomplete specifications; lightweight specifications; matching program searching; program encodings; program repository; programming languages; semantic approach; semantic search; suitable code finding; suitable program finding; syntactic approach; Concrete; Encoding; Lattices; Mashups; Semantics; Syntactics; SMT solvers; code reuse; constraints; program composition; semantic search;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Software Engineering (ICSE), 2012 34th International Conference on
Conference_Location :
Zurich
ISSN :
0270-5257
Print_ISBN :
978-1-4673-1066-6
Electronic_ISBN :
0270-5257
Type :
conf
DOI :
10.1109/ICSE.2012.6227034
Filename :
6227034
Link To Document :
بازگشت