maintaineR: A web-based dashboard for maintainers of CRAN packages
description
Transcript of 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
IntroductionIntroduction
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
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/
maintaineRmaintaineR
ArchitectureArchitecture
maintaineRextractoR
cloneR
RCurl + XML
hash
igraph
DB WebApp
VirtualBox +
VagrantShiny
rChartstimeline
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)
DemoDemohUps://www.youtube.com/watch?v=q3RWTsVnPqg
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
Thanks for your attentionThanks for your attention
Questions?Questions?Slides: Slides: http://maelick.net/presentations/icsme2014/http://maelick.net/presentations/icsme2014/