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

07/12/2019
by   Gabriel Menezes, et al.
0

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 Android and SpringBoot, and assess aspects related to their source code, evolution, popularity, and client usage. Results: We find that most code samples are small and simple, provide a working environment to the clients, and rely on automated build tools. They change frequently over time, for example, to adapt to new framework versions. We also detect that clients commonly fork the code samples, however, they rarely modify them. Conclusions: We provide a set of lessons learned and implications to creators and clients of code samples to improve maintenance and usage activities.

READ FULL TEXT

page 7

page 8

research
08/15/2022

On the Adoption and Effects of Source Code Reuse on Defect Proneness and Maintenance Effort

Context. Software reusability mechanisms, like inheritance and delegatio...
research
03/10/2020

Refactoring Graphs: Assessing Refactoring over Time

Refactoring is an essential activity during software evolution. Frequent...
research
12/12/2018

A4: Automatically Assisting Android API Migrations Using Code Examples

The fast-paced evolution of Android APIs has posed a challenging task fo...
research
03/17/2021

DUETS: A Dataset of Reproducible Pairs ofJava Library-Clients

Software engineering researchers look for software artifacts to study th...
research
08/08/2020

DR-Tools: a suite of lightweight open-source tools to measure and visualize Java source code

In Software Engineering, some of the most critical activities are mainte...
research
03/01/2021

Offshore Software Maintenance Outsourcing Predicting Clients Proposal using Supervised Learning

In software engineering, software maintenance is the process of correcti...
research
08/26/2019

Analyzing 2.3 Million Maven Dependencies to Reveal an Essential Core in APIs

This paper addresses the following question: does a small, essential, co...

Please sign up or login with your details

Forgot password? Click here to reset