maintainer: a web-based dashboard for maintainers of cran packages
DESCRIPTION
Tool demo presentation by Maelick Claes of UMONS (directed by T. Mens and Ph. Grosjean) during ICSME 2014 conference in Victoria, Canada (October 2014). Abstract: The R development community maintains thousands of packages through its Comprehensive R Archive Network CRAN. The growth and evolution of this archive makes it more and more difficult to maintain packages and their interdependencies, and the existing tools that aim to help developers in this process no longer suffice. We propose maintaineR, a web-based dashboard that allows CRAN package developers to understand and deal with the implications and problems raised by package updates. The dashboard complements existing analysis tools by providing additional support such as the visualisation of package dependencies and reverse dependencies, package conflicts, cross-package function clones, and so on.TRANSCRIPT
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/