Saving Time, Reducing Cost, Increasing Quality - V&V la Revolution

Anthony Williams

Senior Safety Critical Software Engineer, Volant Autonomy

Conventional Project Management wisdom would have you believe that you can optimise two out of the three sides of the Time, Cost, Quality triangle. I am going to show you otherwise; you can have your well-made cake, baked on time, at a reasonable price, and yes, we can eat it too. With a cherry on the top!

Taking one of Volant Autonomy's own projects as an example, this talk will describe how small changes to our software and processes lead to big gains.

By learning from techniques already well-proven elsewhere in the Open Source community, we operate a modern, lean testing approach which is cost effective to adopt.

We will focus on the "right hand side" of the V-Model (Verification) and will discuss how time reduction, cost savings and quality requirements are all enhanced when developing using a modern, cloud-first development environment.

Our approach is based on automating our verification activities through the use of bleeding-edge tooling and innovative new techniques. As a case study we will discuss how we integrated a new tool, AdaCore's GNATfuzz, into our testing workflow. GNATfuzz is a fuzz tester which has great potential to improve the code quality of a project, given careful consideration of the runtime and cost.

The successful application of innovative development practices depends on a measured evaluation of these practices as they are deployed in a Continuous Integration pipeline. This evaluation ensures that we retain focus on software quality and assurance which is vital for our industry, whilst delivering on time and to budget:

Quality: Maintained and upheld across the V-Model by use of Continuous Integration, starting with the enforcement of standard quality checks such as linting, SPARK proof and automatic unit test running. Utilisation of novel tools such as GNATfuzz which can detect latent errors which may escape traditional testing methodologies. We present examples of defects detected by GNATfuzz which escaped both conventional unit testing and SPARK analysis.

Time: Keeping a Software Engineers' workflow running effectively by understanding when and how often to execute automatic checks. Finding defects early reduces rectification time, but how long is it worth waiting for? What needs running when? Should a failing check block an approval? Consider taking a little time to make small changes which have big impact?

Cost: Cloud based development environments enable flexibility - at a cost. Optimising the cost of cloud vs. on-premises operations based on cost / benefit analysis proves key to making these innovations work. Trading off time waiting longer for tasks to run on inexpensive hardware.

Our lessons learned over the last 12 months are applicable to organisations across the safety-critical software domain, and adoption of these practices will have a wide benefit to the industry. By combining these techniques, we show how delivering rapid feedback to engineers, with a predictable cost, allows us to deploy high quality software every time.

About Anthony Williams

Anthony Williams is a Senior Safety Critical Software Engineer at Volant Autonomy with 10 years of experience in Safety Related and Safety Critical systems. Currently working as part of a team developing a next-generation Collision Avoidance System for small Uncrewed Aviation Systems, his previous projects have included Air Traffic Management and Train Protection Systems.

Anthony has particular experience in understanding and deploying toolchains, and integrating software into new environments. He has developed and contributed to continuous integration pipelines on several projects of varying size; often with a view to utilising new CI features in existing projects.

Sponsored by

Official Media Partners

Supported by