ROSIN QUALITY ASSURANCE INITIATIVES FOR ROS
Adam Alami & Zhoulai Fu

IT University of Copenhagenrosin-project.eu
1© ROSIN – ROS-Industrial Quality-Assured Robot Software Components

This project is funded by the European Union‘s Horizon 2020 research and innovation
programme under grant agreement No 732287

ROS Quality Assurance Working Group2© ROSIN – ROS-Industrial Quality-Assured Robot Software Components

ROSIN Quality Assurance Initiatives
Iterations

Iteration 1

Iteration 2

Iteration 3

Iteration 43© ROSIN – ROS-Industrial Quality-Assured Robot Software Components

ROSIN Initiatives

No. Of vote points

Make ROS packages quality visible.

42

Appoint ownership

32

Energize the code review process

32

Implement a code scanning method and tool

31

Maintenance issues

31

Energize Continuous Integration

31

Quality Hub website

30

Formalize the code ownership process

29

Onboarding process for core and non-core community members

29

Model-in-the-Loop testing

28

Implement a continuous improvement process26

Automated unit test generation

26

Quality Discourse

23

QA promotion events

19

Model Driven Development

18#ROSQA

15

ROSIN Quality Assurance Initiatives
Initiatives
Problem/Opportunity
StatementName

Lack of centralized source for Quality Hub website
community quality assurance
practices, knowledge andcollaboration.

Quality Discourse
Absence of ownership for QA QA ownership
practices.

4

Inconsistent practice of code
review

Energize the code review
process

Deviation from software
engineering and industry
practices.

Code scanning
Energize Continuous
Integration© ROSIN – ROS-Industrial Quality-Assured Robot Software Components

Description

The change impact
magnitude

A single source of truth for
Minor
ROS QA knowledge, practices,
tools and methods.

Expected Community Impact
QA Feature/CapabilityCommunity Impact

QA knowledge sharing. ••Inspire people
to shareknowledge andexperience.
Fosterknowledge
sharingbehavior.

QA ForumMinor

QA Collaboration
platform.

Appoint ownerships for QA
practices, tools andinfrastructure.
Code review is an existingprocess; unfortunately, it isloosely implemented andpracticed. The aim of thisinitiative is to bring thispractice back to ROS QA corequality practices. Review thecurrent process. Update thecurrent process to reflect theSE practices. Implement it inROS and ROS-I.
Implement a code scanning
method and tool.

MediumOwnership

High

Code review process

High

Code scanning tool and New software
process
engineering practice inthe community
Continuous Integration New software
Service.
engineering practice inthe community

This initiative is to review and Highenhance the current
implementation of the current
Continuous Integration (CI)services.

Inspire people tocollaborate on QA
themes and issues.
Motivate andencourage ownershipbehavior.
•Higher software
quality•Knowledge
sharing•
Early detectionof defects

ROSIN Quality Assurance Initiatives
n Make ROS packages quality visible.
n Description of the initiative:n Create a process/tool where packages quality can be measured, assigned and displayed.
n Intent:n Make ROS packages quality visiblen Status:n Phase I: The CI badge is implemented.
n Phase II: The quality dashboard is work in progress.
n To do(s):n Integrate the GUI of the quality dashboard to Haros.
n Implement user rating
5© ROSIN – ROS-Industrial Quality-Assured Robot Software Components

ROSIN Quality Assurance Initiatives
n Make ROS packages quality visible.

6© ROSIN – ROS-Industrial Quality-Assured Robot Software Components

ROSIN Quality Assurance Initiatives
n Make ROS packages quality visible.

7© ROSIN – ROS-Industrial Quality-Assured Robot Software Components

ROSIN Quality Assurance Initiatives
n Make ROS packages quality visible.

8© ROSIN – ROS-Industrial Quality-Assured Robot Software Components

ROSIN Quality Assurance Initiatives
n Make ROS packages quality visible.

9© ROSIN – ROS-Industrial Quality-Assured Robot Software Components

ROSIN Quality Assurance Initiatives
n Make ROS packages quality visible.

10© ROSIN – ROS-Industrial Quality-Assured Robot Software Components

ROSIN Quality Assurance Initiatives
n Make ROS packages quality visible.

11© ROSIN – ROS-Industrial Quality-Assured Robot Software Components

ROSIN Quality Assurance Initiatives
n Appoint Ownership.
n Description of the initiative:n Appoint ownerships for QA practices, tools and infrastructure.
n Intent:n Establishing ownership of QA practices to ensure continuity.
n Status:n Implemented. A decision has been made by the ROS Quality Working Group to ask theindividual(s) who work on the implementation of the initiative to be the defaultowners.

12© ROSIN – ROS-Industrial Quality-Assured Robot Software Components

ROSIN Quality Assurance Initiatives
n Energize the code review process.
n Description of the initiative:n Reinstitute the code review practice.
n Intent:n Code Review is a prominent QA practice in open sourcen Status:n In progress. A decision has been made to use within same repository/organization
review. This to ensure the right expertise of reviewers.
n To do(s):n Code Review Guidelinen Commence the pilots in two repositories (MoveIt and rviz)
13© ROSIN – ROS-Industrial Quality-Assured Robot Software Components

ROSIN Quality Assurance Initiatives
n Implement a code scanning method and tool.
n Description of the initiative:n Haros will be able to build a representation of ROS software code that include Python
and not only C++.
n Improve this representation with reliable name resolution.
n Status:n The build work has commenced.

14© ROSIN – ROS-Industrial Quality-Assured Robot Software Components

ROSIN Quality Assurance Initiativesn Quality Hub website.
n Description of the initiative:n A central “go-to” place for QA (like Mozilla) knowledge sharing (documentation of QApractices)n Intent:n Create a source of knowledge for quality assurancen Status:n Implemented
n http://wiki.ros.org/Qualityn To do(s):n Contributions to the hub.
15
© ROSIN – ROS-Industrial Quality-Assured Robot Software Components

ROSIN Quality Assurance Initiativesn Quality Forum.
n Description of the initiative:n Quality Assurance Forum (follows the mozilla model).
n Intent:n A dedicated forum to discuss quality.
n Status:n Implemented
n https://discourse.ros.org/c/quality

16© ROSIN – ROS-Industrial Quality-Assured Robot Software Components

ROSIN Quality Assurance Initiatives
Iterations

Iteration 1

Iteration 2

Iteration 3

Iteration 4

17© ROSIN – ROS-Industrial Quality-Assured Robot Software Components

ROSIN Initiatives

No. Of vote points

Make ROS packages quality visible.

42

Appoint ownership

32

Energize the code review process

32

Implement a code scanning method and tool

31

Maintenance issues

31

Energize Continuous Integration

31

Quality Hub website

30

Formalize the code ownership process

29

Onboarding process for core and non-core community members

29

Model-in-the-Loop testing

28

Implement a continuous improvement process

26Automated unit test generation

26

Quality Discourse

23

QA promotion events

19

Model Driven Development

18#ROSQA15

Questions

18© ROSIN – ROS-Industrial Quality-Assured Robot Software Components