Transcript
Page 1: maintaineR: A web-based dashboard for maintainers of CRAN packages

maintaineRmaintaineRA web-based dashboard for main-A web-based dashboard for main-

tainers of CRAN tainers of CRAN packagespackages

Maëlick(ClaesTom$Mens$&$Philippe$Grosjean

&$

2nd$October$2014,$ICSME$2014

Software$Engineering$Lab$ Numerical$Ecology$of

Aquatic$Systems$Lab

2

Page 2: maintaineR: A web-based dashboard for maintainers of CRAN packages

IntroductionIntroduction

Page 3: maintaineR: A web-based dashboard for maintainers of CRAN packages

Statistical$environment$based$on$the$S$language

Packages$with

Code$(R,$C,$Fortran,...)

Documentation

Examples

Tests

Datasets

...

CRAN$(Comprehensive$R$Archive$Network)

Official$R$package$repository

Strict$policy$for$package$acceptance

Package$quality$regularly$checked$&$archive$process

Complaints$in$the$community$Hornik$2012,$Are$there$too$many$Rpackages?

hUp://www.rXproject.org

Page 4: maintaineR: A web-based dashboard for maintainers of CRAN packages

Previous workPrevious workPreliminary$empirical$study$using$CRAN$metaXdata

On$the$maintainability$of$CRAN$packages$(CSMRXWCRE$2014)

R$CMD$check$results$from$CRAN:

Most$errors$resolved$quickly$without$developer$intervention

Maintenance$effort$needs$to$focus$on$fixing$errors$caused$by$others

Need$for$a$more$specific$tool$to$detect$problems$related$to

dependency$changes

hUp://cran.rXproject.org/web/checks/

Page 5: maintaineR: A web-based dashboard for maintainers of CRAN packages

maintaineRmaintaineR

Page 6: maintaineR: A web-based dashboard for maintainers of CRAN packages

ArchitectureArchitecture

maintaineRextractoR

cloneR

RCurl + XML

hash

igraph

DB WebApp

VirtualBox +

VagrantShiny

rChartstimeline

Page 7: maintaineR: A web-based dashboard for maintainers of CRAN packages

Running maintaineRRunning maintaineR

Required:$igraph,$rCharts,$d3Network,$shiny,$timeline,$RCurl,

shinyIncubator,$extractoR.utils

hUps://github.com/ecosXumons/maintaineR

hUps://github.com/ecosXumons/CRANData

install.packages(c("igraph", "d3Network", "shiny", "RCurl", "devtools"))devtools::install_github("rstudio/shiny-incubator")devtools::install_github("ramnathv/rCharts")devtools::install_github("ecos-umons/extractoR/extractoR.utils")devtools::install_github("ecos-umons/maintaineR")shiny::runApp(system.file("webapp", package="maintaineR"), port=3000)

Page 8: maintaineR: A web-based dashboard for maintainers of CRAN packages

DemoDemohUps://www.youtube.com/watch?v=q3RWTsVnPqg

Page 9: maintaineR: A web-based dashboard for maintainers of CRAN packages

Future workFuture workCLI$check$tool$on$a$new$package$version

General$UI$improvement

Performance$optimization

Global$CRAN$view

View$all$packages$of$a$maintainer

Present$information$about$package$tests

Function$call$graph

Page 10: maintaineR: A web-based dashboard for maintainers of CRAN packages

Thanks for your attentionThanks for your attention

Questions?Questions?Slides: Slides: http://maelick.net/presentations/icsme2014/http://maelick.net/presentations/icsme2014/


Top Related