Searching code examples in IDE using natural language queries
Introduction
As code search is important during interaction with IDEs, we looked for the questions developers ask while searching the source code. Studies have shown that the questions asked on Stack Overflow follow closely the pattern “how to”, which basically asks for simple instructions to solve a problem.
Problem
We also collected questions about unit-testing from Stack Overflow. We gathered 6,419 questions and realized that 1,600 out of this 6,419 questions are about the “how to” pattern. One such example represents the question “how to test UI Component wicket panel” from which a developer clearly intends to test an object or function. This situation is identical for novice developers when they are introduced to new software. They try to understand the behavior of different objects and entities by simply searching classes and functions.
State of the art
Examples present in the source code can help to overcome this situation. GT examples present in Pharo show how to create objects and use them. The goal of an example is to exemplify a subject concept of interest. A subject concept of interest can be a class, a method or a package. We are using “bloc” for our experiment, a state of the art UI framework.
Steps
- Getting familiar with the “bloc” framework in Pharo.
- Exploration of the GT examples.
- Establishment of an approach to search GT examples using natural language questions.
Note
The project can be extended to a Bachelor project.