• Corpus ID: 236881594

DepRes: A Tool for Resolving Fully Qualified Names and Their Dependencies

  title={DepRes: A Tool for Resolving Fully Qualified Names and Their Dependencies},
  author={Ali Shokri and Mehdi Mirakhorli},
Reusing code snippets shared by other programmers on Q&A forums (e.g., StackOverflow) is a common practice followed by software developers. However, lack of sufficient information about the fully qualified name (FQN) of identifiers in borrowed code snippets, results in serious compile errors. Programmers either have to manually search for the correct FQN of identifiers which is a tedious and error-prone process, or use tools developed to automatically identify correct FQNs. Despite the efforts… 

Figures from this paper


Learning from Examples to Find Fully Qualified Names of API Elements in Code Snippets
This paper proposes a novel context-sensitive technique, called COSTER, to resolve FQNs of API elements in such code snippets, which significantly reduces the training time compared to the StatType, a state-of-the-art technique, without sacrificing accuracy.
Statistical Learning of API Fully Qualified Names in Code Snippets of Online Forums
The proposed StatType, a statistical approach to resolve the fully qualified names (FQNs) for the API elements in such code snippets, has two well-integrated factors - a large training code corpus and the context consisting of neighboring API names that often co-occur.
Automated dependency resolution for open source software
A method for automatically resolving dependencies for open source software works by cross-referencing a project's missing type information with a repository of candidate artifacts, implemented on top of the Sourcerer, an infrastructure for the large-scale indexing and analysis of open source code.
CodeHow: Effective Code Search Based on API Understanding and Extended Boolean Model (E)
This paper proposes CodeHow, a code search technique that can recognize potential APIs a user query refers to and performs code retrieval by applying the Extended Boolean model, which considers the impact of both text similarity and potential APIs on code search.
ArCode: Facilitating the Use of Application Frameworks to Implement Tactics and Patterns
A learning-based approach to help novice programmers correctly use frameworks’ APIs to implement architectural tactics and patterns called ARCODE, which demonstrates the feasibility of using ARCODE to learn the specification of a framework and outperforms two famous techniques, MAPO and GrouMiner, on API recommendation and misuse detection tasks.
An empirical study of code clone genealogies
This study developed a formal denition of clone evolution and built a clone genealogy tool that automatically extracts the history of code clones from a source code repository and analyzed their evolution.
On code reuse from StackOverflow: An exploratory study on Android apps
An exploratory study focusing on code reuse from StackOverflow in the context of mobile apps indicates that in smaller teams/apps, more experienced developers reuse code, whereas in larger teams/ apps, the less experienced developers reused code the most and the percentage of bugs is higher in files after reusing code from Stack overflow.
Live API documentation
Baker can be used to enhance traditional API documentation with up-to-date source code examples and incorporate links to the API documentation into the code snippets that use the API.
Some from Here, Some from There: Cross-Project Code Reuse in GitHub
It is found that cross-project cloning is prevalent in GitHub, ranging from cloning few lines of code to whole project repositories, and that ecosystem cloning follows an onion model: most clones come from the same project, then from Projects in the same application domain, and finally from projects in different domains.
Z3: An Efficient SMT Solver
Z3 is a new and efficient SMT Solver freely available from Microsoft Research that is used in various software verification and analysis applications.