view tutorial.tex @ 0:d2cf7cdf7882

Initial commit
author Chris Cannam
date Thu, 08 Mar 2012 13:56:24 +0000
parents
children 17c67727560b
line wrap: on
line source
\documentclass{article}
\usepackage{amsmath,graphicx}
\onecolumn
\raggedbottom

\title{ISMIR Tutorial Proposal}

\author{Mark D. Plumbley, Chris Cannam, and Lu\'{i}s A. Figueira\\
Centre for Digital Music, Queen Mary University of London\\
  {\tt\small \{mark.plumbley, chris.cannam, luis.figueira\}@eecs.qmul.ac.uk}}

\begin{document}
%
\maketitle
%

\section{Title}

{\bf Reusable software and reproducibility in music informatics research}

\section{Outline of the tutorial content}

This tutorial will be in three parts:
\begin{itemize}
\item An {\bf introduction and overview} discussing the motivation for reusable software in research and providing an overview of some methods, tools and facilities available to researchers for this purpose;
\item A practical {\bf hands-on example} section in which attendees are encouraged to try out some of these methods in code;
\item A {\bf review and discussion} on the subject of publications policy, relevant also to research group leaders.
\end{itemize}

\subsection{Introduction and overview}

In the first part of the tutorial we will discuss some of the problems
faced by researchers in developing and reusing software in their
research, and their consequences for scientific work. We will then
outline some of the options available for researchers to help overcome
barriers to software reuse.

\subsubsection{The present situation and what we can do about it}

We will talk about findings which show limited levels of collaborative
development and software publication in audio and music research, and
present and discuss research and survey data pointing to some common
causes for the lack of publication and eventual disappearance of
research software code.

For example, our survey of UK audio and music researchers in 2011
found that even among those respondents who reported both developing
software during research and taking steps to reproducibility for their
publications, only 35\% reported having in fact published any of their
code. Our respondents cited as obstacles to the publication of code
lack of time, copyright restrictions, and the potential for future
commercial use. (A broader study into science research across several
subject areas by the UK Research Information Network additionally
identified the lack of evidence of benefits, cultures of independence
and competition, and quality concerns as inhibiting factors.)

We will identify a number of barriers to the publication of code,
including the lack of education and confidence with code, lack of
facilities and tools to support collaborative development, lack of
incentive to distribute software, and reusability problems caused by
platform incompatibilities. We will outline a possible course of
action that researchers and research groups can take in order to
mitigate each of these barriers, including focused small-scale
training programmes, the use of version control software, and actions
that create an association between published software and citeable
publications.

\subsubsection{Software, tools, and facilities}

This section will present an overview of methods, tools and facilities available to researchers to assist with collaborative development and software publication, including:

\begin{itemize}
\item Version control software: The concepts; practical advantages; overview of Mercurial, Git, Subversion; hosting facilities such as Github, Bitbucket, or (for UK researchers) our own code.soundsoftware.ac.uk
\item Unit testing and managing provenance and reproducibility for code
\item Software licences: commonly-used open-source licences; the pros and cons of GPL and BSD licensing schemes
\item Data management: principles and repositories
\end{itemize}

\subsection{Hands-on examples}

In this section, the second of the three, attendees will get the opportunity to work through an example using real code.

A toy MIR-related programming problem will be presented, and attendees will pair up to:

\begin{itemize}
\item    Implement it in either Python or MATLAB/Octave using a very simple unit testing regime;
\item    Place the code under version control using a local repository in a distributed version control system;
\item    Make the appropriate changes to place the result under a standard open-source software licence;
\item    Tag the code and follow a simple "release procedure" to produce a source code package.
\end{itemize}

\subsection{Review and discussion}

Following a review of the results of the hands-on example, we will
open out the discussion into the wider field of reproducible
publication, and into areas of policy and actions that research groups
and research leaders may wish to consider.

This section will therefore cover:

\begin{itemize}
\item    Publication mechanisms for reproducible research:
\begin{itemize}
\item        Open-access journal papers
\item        Self-archiving
\item        Technical reports
\item        Copyright issues relating to journal or book publication
\item        Publishing software in such a way that its relationship with the written publication is apparent
\item        Associating specific versions of software or data with a publication
\end{itemize}
\item    Publication policies for research group leaders:
\begin{itemize}
\item        Why publish?
\item        Institutional assistance with publication barriers
\item        The research community
\end{itemize}
\end{itemize}

\section{Intended and expected audience}

The primary audience for this tutorial is researchers within the music
informatics community who have to develop or reuse software during
their day-to-day research.

We believe that an overwhelming majority of material submitted to
ISMIR required software to be developed during research. Given results
showing that most researchers are self-taught in software development,
and in light of the reasons researchers report as to why they do not
publish software, we think that a large proportion of the active
researchers represented at ISMIR regardless of subject focus will find
the material in our tutorial of interest.

Our tutorial is also highly relevant to research supervisors and
research group leaders, because of its implications in terms of both
institutional and group policy and guidance for research students.

\section{Short biography of the presenter(s)}

The presenters manage the Sound Software project
(http://soundsoftware.ac.uk/), an initiative to assist researchers in
audio and music fields in the UK to manage software code in a more
sustainable manner. Based at the Centre for Digital Music (C4DM) at
Queen Mary, University of London, they have extensive experience in
audio and music research (including music information retrieval) and
software development, and have given workshops on sustainable software
development in research at the C4DM and elsewhere in the UK.

Mark Plumbley is Director of C4DM and leads the Sound Software
initiative. His work in audio signal analysis includes beat tracking,
music transcription, source separation and object coding, using
techniques such as neural networks, independent component analysis,
sparse representations and Bayesian modelling. Prof Plumbley is Chair
of the International Independent Component Analysis Steering
Committee, a member of the IEEE Machine Learning in Signal Processing
Technical Committee, and an Associate Editor for IEEE Transactions on
Neural Networks. He leads the ICA Research Network and Digital Music
Research Network.

Chris Cannam is a software developer with 15 years commercial and
extensive open-source and cross-platform development experience. While
at the C4DM he has worked on the widely-used Sonic Visualiser audio
analysis and visualisation application; Sonic Annotator, a tool for
batch extraction of meaningful features from audio files; the Vamp
plugin API for audio feature extraction, and many plugins using this
API; and tools and ontologies for music description using RDF within
the Semantic Web.

Luis Figueira is a software developer with more than 5 years of
experience with C/C++, Ruby on Rails, Scheme, Web technologies and
databases. He has an MSc in Electrotechnical and Computers Engineering
from Instituto Superior Técnico in Lisbon, where he specialized in
digital signal processing with a focus on speech synthesis. Luis has
recently worked in a speech technology spin-off and an open-source web
development company.

\section{Any special requirements}
\section{Contact information}

\end{document}

%%% Local Variables: 
%%% mode: latex
%%% TeX-master: t
%%% End: