Framework Code Samples: How Are They Maintained and Used by Developers?

  title={Framework Code Samples: How Are They Maintained and Used by Developers?},
  author={G. Menezes and B. Cafeo and Andr{\'e} C. Hora},
  journal={2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)},
  • G. Menezes, B. Cafeo, André C. Hora
  • Published 2019
  • Computer Science
  • 2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)
Background: Modern software systems are commonly built on the top of frameworks. To accelerate the learning process of features provided by frameworks, code samples are made available to assist developers. However, we know little about how code samples are actually developed. Aims: In this paper, we aim to fill this gap by assessing the characteristics of framework code samples. We provide insights on how code samples are maintained and used by developers. Method: We analyze 233 code samples of… Expand
Assessing Mock Classes: An Empirical Study
The first empirical study to assess mock classes is provided, finding that mock classes often emulate domain objects, external dependencies, and web services; are typically part of a hierarchy; are mostly public, but 1/3 are private; and are largely consumed by client projects, particularly to support web testing. Expand
Characterizing top ranked code examples in Google
Assessment of how the Google search engine ranks code examples finds that pages with multiple code examples are more likely to top ranked by Google, and single code examples that are higher ranked are larger, however, they are not necessarily more readable and reusable. Expand
Quero lhe usar! Uma Análise do Público Alvo de Code Samples
An empirical study through the analysis of developer statistics on the Stack Overflow generates implications that can assist organizations to keep code samples relevants to developers. Expand


How Can I Use This Method?
MUSE (Method USage Examples), an approach for mining and ranking actual code examples that show how to use a specific method, combines static slicing with clone detection, and uses heuristics to select and rank the best examples in terms of reusability, understandability, and popularity. Expand
Documenting APIs with examples: Lessons learned with the APIMiner platform
This paper describes a platform - called APIMiner - that instruments the standard Java-based API documentation format with concrete examples of usage and describes a particular instantiation of this platform for the Android API. Expand
XSnippet: mining For sample code
XSnippet is developed, a context-sensitive code assistant framework that allows developers to query a sample repository for code snippets that are relevant to the programming task at hand and provides better coverage of tasks and better rankings for best-fit snippets than other code assistant systems. Expand
An Empirical Study on the Impact of Refactoring Activities on Evolving Client-Used APIs
An automated approach to understand how clients that use a library API are affected by refactoring activities finds that library maintainers are less likely to break client-used API classes. Expand
What makes a good code example?: A study of programming Q&A in StackOverflow
A qualitative analysis of the questions and answers posted to a programming Q&A web site called StackOverflow identified haracteristics of effective examples and found that the explanations acompanying examples are as important as the examples themselves. Expand
Mining API Usage Examples from Test Code
This paper proposes a novel approach to mining API usage examples from test code using a code pattern based heuristic slicing approach to separate test scenarios into code examples. Expand
Do developers update their library dependencies?
It is concluded that even though third-party reuse is common practice, updating a dependency is not as common for many developers. Expand
Jungloid mining: helping to navigate the API jungle
Reuse of existing code from class libraries and frameworks is often difficult because APIs are complex and the client code required to use the APIs can be hard to write. We observed that a commonExpand
How do APIs evolve? A story of refactoring
It is discovered that the changes that break existing applications are not random, but tend to fall into particular categories, which suggests that refactoring-based migration tools should be used to update applications. Expand
Spotting working code examples
The time complexity of the proposed approach for spotting working code examples is as low as the complexity of existing code search engines on the Internet and considerably lower than the pattern-based approaches supporting free-form queries. Expand