Should I Stale or Should I Close? An Analysis of a Bot that Closes - - PowerPoint PPT Presentation

should i stale or should i close
SMART_READER_LITE
LIVE PREVIEW

Should I Stale or Should I Close? An Analysis of a Bot that Closes - - PowerPoint PPT Presentation

Should I Stale or Should I Close? An Analysis of a Bot that Closes Abandoned Issues and Pull Requests Mairieli Wessel Igor Steinmacher Igor Wiese Marco Aurlio Gerosa Research funded by CNPq, FAPESP and NAU Stale Bot helps triaging


slide-1
SLIDE 1

Should I Stale or Should I Close?

Mairieli Wessel Igor Steinmacher Igor Wiese Marco Aurélio Gerosa

An Analysis of a Bot that Closes Abandoned Issues and Pull Requests

Research funded by CNPq, FAPESP and NAU

slide-2
SLIDE 2

Stale Bot helps triaging abandoned issues and pull requests on GitHub.

https://probot.github.io/apps/stale/

2

slide-3
SLIDE 3

How does the Stale bot work?

3

slide-4
SLIDE 4

1 After a period of inactivity, a label is added to mark the issue as stale

How does Stale bot work?

4

slide-5
SLIDE 5

1 After a period of inactivity, a label is added to mark the issue as stale

How does Stale bot work?

5

slide-6
SLIDE 6

1 2 After a period of inactivity, a label is added to mark the issue as stale

How does Stale bot work?

Has any activity occurred? If the issue is updated, then the stale label is removed If no more activity occurs, the issue is closed

6

slide-7
SLIDE 7

1 2 After a period of inactivity, a label is added to mark the issue as stale

How does Stale bot work?

Has any activity occurred? If the issue is updated, then the stale label is removed If no more activity occurs, the issue is closed

7

slide-8
SLIDE 8

How to set up

8

.github/stale.yml

slide-9
SLIDE 9

Research Questions

  • RQ1. What are the characteristics of stale issues and

pull requests?

  • RQ2. How stable is the bot configuration

for a project?

9

slide-10
SLIDE 10

Stale bot

765

Open Source Software Projects in our sample

10

slide-11
SLIDE 11

Analyzing the “only” setting

87.7% adopted the bot for both issues and pull requests 9.8% adopted the bot only for issues 2.5% adopted the bot only for pull requests

11

slide-12
SLIDE 12

The “daysUntilStale” and “daysUntilClose”

  • Pull requests have been set to become stale in fewer days than issues
  • Eight projects defined the daysUntilStale as more than 36,000 days
  • 10% disabled the feature that makes the bot automatically close the

issues and pull requests

12

slide-13
SLIDE 13

Analyzing the “staleLabel” setting

stale wontfix abandoned inactive

Default on Stale bot Used in 79.6% of “issue” and 51.4%

  • f “both” configurations

Most used in “pull” configurations

13

slide-14
SLIDE 14

Analyzing the “exemptLabels” setting

security pinned bug enhancement

  • n hold

newcomer needs review waiting for CLA pass

14

slide-15
SLIDE 15

How stable is the bot configuration for a project?

We considered the number of modifications as a proxy to the effort required to use the bot in a project.

  • 59.2% of projects only added the .github/stale.yml file
  • 83% of projects that changed the configuration file at least once made no

more than three modifications

15

slide-16
SLIDE 16

The extreme case: SaltStack

The configuration file was modified by 59 commits from May 12, 2017, to November 16, 2018.

16

slide-17
SLIDE 17

What we found...

  • Most of the projects that adopted the stale bot use it for both issues and pull

requests

  • Stale issues tagged as bug are generally exempt from staling
  • Stale pull requests that need some input to be processed are generally

exempt from staling

  • Adopting stale bot does not require too much effort from maintainers

17

slide-18
SLIDE 18

Thank you!

You can find me at: mairieli.github.io mairieli@ime.usp.br @mairieli

Credits to Freepik for the images used in this presentation!

slide-19
SLIDE 19

Should I Stale or Should I Close?

Mairieli Wessel Igor Steinmacher Igor Wiese Marco Aurélio Gerosa

An Analysis of a Bot that Closes Abandoned Issues and Pull Requests

Research funded by CNPq, FAPESP and NAU