Funding for CCPForge and software engineering support for research computing

Lead Research Organisation: Science and Technology Facilities Council
Department Name: Scientific Computing Department

Abstract

This project will provide 3 services:

* CCPForge.
* A buildbot service.
* The QA tools server.

In addition there will be a software engineering support initiative which involves identifying
relevant software engineering tools and techniques for the computational science community, and
training and dissemination of the information.

Together these four strands will mark a step change in the availability of QA
tools and continuous testing service and, with seminars and training workshops, also the uptake of
these ideas into development processes.

CCPForge

The CCPForge component of the project has two parts: running the service and developing the
service. Both are essential to providing a good service and though the users will most obviously see
the developments, they will quickly notice if the responsiveness and availability of the service is not
to their liking.

The current CCPForge service offers a first step for projects wishing to use software engineering tools
and techniques in the their development process. This project will extend the range of tools available
via CCPForge to include specific quality assurance tools and allow certain pre-defined tasks to be run
quickly and simply from the web pages with the results stored and retrievable for use in collaborative
development decisions. A QA tools plug-in will be developed to provide this functionality.

Buildbot

Buildbot (http://trac.buildbot.net/) is a means by which a testing regime can be set up to run
tests easily given a specific trigger. A trigger may be a particular time of day - a regression test suite
is run each night for example, or a repository check-in - check that the code still compiles, or a manual
user initiated action. The tests can be of any sort provided whatever is run can provide pass/fail
information.

We will create a buildbot service that comprises a master which can respond to triggers from CCPForge
and a small set of slave machines that deliver Linux, Windows and MacOS environments with compilers
and support libraries. We will look for large scale HPC and novel architecture machines to join the pool of
slaves.

For projects on CCPForge we will create a buildbot plug-in which provides an easy to use interface
for creating triggers, specifying how the tests are to be run, and having access to results in the buildbot
format from the master and a simple pass/fail indicator.

Training will be available in both on-line and workshop form including hands on sessions.

QA Tools Server

The aim of this activity is to make it easier for computational scientists to use software engineering
tools and techniques. By integrating the QA tools and buildbot with CCPForge we will achieve this
aim. However, by making tools simple to use through a web interface we sacrifice the full features of
some tools. Once the software engineering habit has been inculcated through CCPForge we expect
that users will want to know what more they can do and this is where the QA tools server comes in.

By collecting the tools in one place and writing comprehensive tutorial material we will provide an
advanced service offering the full functionality of the tools as well as common use cases for the tools
that are easy to run.

Software Engineering Support

We will take up the challenge of finding relevant software engineering ideas for the modern and expanding
computational science community as well as as well as for those dealing with legacy code. Specific
requirements will be fleshed out by holding user meeetings with CCP developers and others in the
community to identify their needs both in terms of languages and the sorts of tools that would be useful.

The tools and techniques that are identified will feed into the other services and information and training
on the tools will be provided as reports and via workshops and seminars.

Planned Impact

Software has become a critical part of many research activities and UK research councils have been
considering how best to safeguard the intellectual knowledge encapsulated in that software. The
phrase Software as an Infrastructure is now often used to describe the role of software in the research
community.

The main group that will benefit from this project are those engaged in software development as part of their research programmes. The main group will be from the academic community but groups from industry and commerce could also benefit indirectly from the project's activities. This project seeks to provide these groups with a stable framework in which they can manage the development and distribution of their software. CCPForge and its infrastructure will encourage the development of good quality and sustainable software.

A major by product of the project will be in education and training. All those research staff that may move out of the academic world having been involved in software development using CCPForge and SESP will take with them a set of very useful skills. The organisations they move to, if involved in software development, could benefit significantly from this skill set.

Improving the software development process is long term but will lead to significant benefits if continued for a sufficient time. The three most important of the many potential benefits are: the reduction of development time through good design and documentation, the reduction of bugs and subsequent debugging effort and the increased ease of performing new developments through, again good design and documentation. All of these will lead to a software improvement process that will in due course aid the fundamental research being performed - good quality software will enable to production of timely good quality research results.

By reducing wasted time due to bad design and poor program implementations the results of fundamental research will be easier and more timely to achieve.

Publications

10 25 50
 
Description Anvil which provides automated testing has been in operation since February 2016 and is supporting software developers on other EPSRC grants to ensure that their code is well tested and of good quality. Research software underpins the the research process and the service provided by SESC helps those projects who use it to improve/maintain software quality. Anvil continues to run after the end of the funding, supported by our home institution.

We have also contributed to the understanding of how the life-cycle of research software works and what can be used to decide whether it is active or not. We have also shared our observations of user behaviour for services where an end user needs to log in to download or contribute to software. CCPForge provided a decade of user behaviour which we have analysed.
Exploitation Route This aspect is a service which is developing, and so there might be opportunities for others to use it.
Sectors Other

 
Description Microsoft Azure researcher time to support Anvil developments (software testing service)
Amount £20,000 (GBP)
Organisation Microsoft Research 
Sector Private
Country Global
Start 01/2018 
End 12/2018
 
Description Research@Risk/Dataspring
Amount £12,000 (GBP)
Organisation Jisc 
Sector Public
Country United Kingdom
Start 04/2016 
End 11/2016
 
Title Anvil 
Description SESC have launched the automated testing service based on Jenkins. This enables research software to be automatically tested 
Type Of Technology Webtool/Application 
Year Produced 2016 
Impact As this is a peice of infrastrucutre, the benefits realised are gained by the projects which use the service. these include CASTEP and CCP-EM 
URL https://anvil.softeng-support.ac.uk/
 
Description Participation in the Workshop on Sustainable Scientifc Software: Practice and Experience 
Form Of Engagement Activity A talk or presentation
Part Of Official Scheme? No
Geographic Reach International
Primary Audience Professional Practitioners
Results and Impact Presented paper on CCPForge and also contributed to a blog post on preserving complex software objects
https://www.software.ac.uk/blog/2018-11-29-abandon-hope-we-are-archiving-things-we-cant-use-considerations-documenting-complex
Year(s) Of Engagement Activity 2018
URL http://wssspe.researchcomputing.org.uk/wssspe6-1/
 
Description RSE Leaders International meeting 
Form Of Engagement Activity Participation in an activity, workshop or similar
Part Of Official Scheme? No
Geographic Reach International
Primary Audience Professional Practitioners
Results and Impact I particpated as SESC Lead inteh RSE Leaders International meeting. This brought RSE leaders from many countries together to discuss issues. Following on from that meeting, Alys Brett & I held a local meeting with US RSE Leaders.There will be a report in due course
Year(s) Of Engagement Activity 2018
URL http://rse.ac.uk/rse-international-leaders-meeting/
 
Description Research Software Sustainabilty workshops (3) 
Form Of Engagement Activity Participation in an activity, workshop or similar
Part Of Official Scheme? No
Geographic Reach National
Primary Audience Professional Practitioners
Results and Impact I spoke at 3 workshops, Uni Birmingham, Uni Leicester and Uni Bristol on persistently identifiying software and the importance of doing this.
Year(s) Of Engagement Activity 2017
URL https://www.software.ac.uk/news/research-software-management-workshops-january-2017
 
Description SESC Training, Oct 2014 
Form Of Engagement Activity Participation in an activity, workshop or similar
Part Of Official Scheme? No
Geographic Reach National
Primary Audience Professional Practitioners
Results and Impact The workshop was aimed at the users of the SESC service and enabled discussions and additional training on the tools provided
Year(s) Of Engagement Activity 2014
 
Description SESC User Group 2014 
Form Of Engagement Activity Participation in an activity, workshop or similar
Part Of Official Scheme? No
Geographic Reach National
Primary Audience Professional Practitioners
Results and Impact User group meeting with presentations from two users of the service and from the SSI. The afternoon was an update from the service
Year(s) Of Engagement Activity 2014
 
Description SuperComputing Panel discussion on RSE Careers 
Form Of Engagement Activity A formal working group, expert panel or dialogue
Part Of Official Scheme? No
Geographic Reach International
Primary Audience Professional Practitioners
Results and Impact I was on the panel for a birds of a feather session at SuperComputing where I spoke about RSE careers.

My time for the talk was supported by this grant (the travel was provided for by other funds)
Year(s) Of Engagement Activity 2018
URL https://sc18.supercomputing.org/?post_type=page&p=3479&id=bof144&sess=sess411
 
Description Sustainable Software Sustainability Workshop 
Form Of Engagement Activity Participation in an activity, workshop or similar
Part Of Official Scheme? No
Geographic Reach International
Primary Audience Professional Practitioners
Results and Impact Attendance at a European meeting, representing SESC, which discussed research software and issues around discoverability and sustainability
Year(s) Of Engagement Activity 2017
 
Description Talk at the Research Software Engineers Conference, 2018. 
Form Of Engagement Activity A talk or presentation
Part Of Official Scheme? No
Geographic Reach International
Primary Audience Professional Practitioners
Results and Impact I spoke about the issues of shutting services down, drawing on my career but including work on closing CCPForge as part of the talk.
Year(s) Of Engagement Activity 2018
URL http://purl.org/net/epubs/work/40739824
 
Description UCL meeting on CI 
Form Of Engagement Activity Participation in an activity, workshop or similar
Part Of Official Scheme? No
Geographic Reach National
Primary Audience Professional Practitioners
Results and Impact This was a meeting to discuss the needs of researchers for testing. SESC staff talked twice on the agenda: Steven Lamerton discussed technical aspects of the Build Service and Catherine Jones discussed the outcomes of the 2016 survey on CI practices in the UK
Year(s) Of Engagement Activity 2018