Static analysis framework for ROS


Keywords
static-analysis, ros, quality-assurance, robotics
License
MIT
Install
pip install haros==3.10.20

Documentation

DOI

HAROS

HAROS is a framework for quality assurance of ROS-based code, mostly based on static analysis - which consists on extracting information from the source code without executing it (and, sometimes, even without compiling it). Its main goal is the early detection of problems in the software development life cycle, which would otherwise go unnoticed into later stages or even into production.

Try it yourself: there is a demo page of the HAROS visualizer available on GitHub.

Tutorials: on GitHub and on YouTube.

More info: short video presentation on YouTube.

Current Status

HAROS is still being developed, as of August 2021. Help improve HAROS by participating in a short user survey.

Installing

See INSTALL for installation methods and instructions.

How to Use

See USAGE for basic commands and usage instructions.

Bugs, Questions and Support

Check whether your question has an answer in the FAQ.

Please use the issue tracker for issues or feature requests directly related to HAROS.

For issues related to plugins, please use the respective plugin repository.

If you run into errors, or feel that something is not working, run HAROS in debug mode, so the log files do not miss any information, e.g.,

haros --debug analyse ...

Then, you can share the log file, found by default within ~/.haros/log.txt.

Citing

See CITING.

Contributing

See CONTRIBUTING.

Acknowledgment

Until March 2021, this work was financed by the ERDF – European Regional Development Fund through the Operational Programme for Competitiveness and Internationalisation - COMPETE 2020 Programme and by National Funds through the Portuguese funding agency, FCT - Fundação para a Ciência e a Tecnologia within project PTDC/CCI-INF/29583/2017 (POCI-01-0145-FEDER-029583).