2011 IEEE 19th International Conference on Program Comprehension 2011
DOI: 10.1109/icpc.2011.31
|View full text |Cite
|
Sign up to set email alerts
|

Precise and Scalable Querying of Syntactical Source Code Patterns Using Sample Code Snippets and a Database

Abstract: While analyzing a log file of a text-based source code search engine we discovered that developers search for fine-grained syntactical patterns in 36% of queries. Currently, to cope with queries of this kind developers need to use regular expressions, to add redundant terms to the query or to combine searching with other tools provided by the development environment. To improve the expressiveness of the queries, these can be formulated as tree patterns of abstract syntax trees. These search patterns can be exp… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1

Citation Types

0
2
0

Year Published

2011
2011
2015
2015

Publication Types

Select...
4
1

Relationship

0
5

Authors

Journals

citations
Cited by 5 publications
(2 citation statements)
references
References 18 publications
0
2
0
Order By: Relevance
“…A pattern for matching Java for the typecasting of an expression and the assignment of the result to a variable is shown in Table 1-(f). In [13], the query-by-example approach is presented, which suggests the exploitation of source code 1 http://coccinelle.lip6.fr/ 01 void mypattern() { 02 int k, *array; 03 #pragma hercules pattern declare "test"(statement "F", symbol "W") 04 #pragma hercules symbol "array" bind "W" 05 #pragma hercules symbol promote(expression) 06 int expr1,expr2; 07 08 #pragma hercules statement bind "F" +"parallel"() 09…”
Section: Related Workmentioning
confidence: 96%
“…A pattern for matching Java for the typecasting of an expression and the assignment of the result to a variable is shown in Table 1-(f). In [13], the query-by-example approach is presented, which suggests the exploitation of source code 1 http://coccinelle.lip6.fr/ 01 void mypattern() { 02 int k, *array; 03 #pragma hercules pattern declare "test"(statement "F", symbol "W") 04 #pragma hercules symbol "array" bind "W" 05 #pragma hercules symbol promote(expression) 06 int expr1,expr2; 07 08 #pragma hercules statement bind "F" +"parallel"() 09…”
Section: Related Workmentioning
confidence: 96%
“…Like in our approach, the source code is extracted from repositories and afterwards transformed to OWL ontologies. A framework for querying for source code based on sample code snippets is presented in [26]. Query snippets are transformed to XPath queries.…”
Section: B the Semantic Minermentioning
confidence: 99%