  A computational system is called autonomous if it is able to make its own
decisions, or take its own actions, without human supervision or control. The
capability and spread of such systems have reached the point where they are
beginning to touch much of everyday life. However, regulators grapple with how
to deal with autonomous systems, for example how could we certify an Unmanned
Aerial System for autonomous use in civilian airspace? We here analyse what is
needed in order to provide verified reliable behaviour of an autonomous system,
analyse what can be done as the state-of-the-art in automated verification, and
propose a roadmap towards developing regulatory guidelines, including
articulating challenges to researchers, to engineers, and to regulators. Case
studies in seven distinct domains illustrate the article.

Software Engineering;Artificial Intelligence;Robotics