Skip to main content

Static analysis framework for ROS.

Project description

DOI

HAROS

HAROS is a framework for quality assurance of ROS-based code, mostly based on static analysis.

Static analysis consists on extracting information from the source code without executing it (and, sometimes, even without compiling it). The kind of properties that can be verified include simple conformity checks, such as checking whether a variable is initialised, to more complex properties, such as functional behaviour of the program. This allows early detection of problems in the software development life cycle, which would otherwise go unnoticed into later stages or even into production.

Needless to say, sometimes in robotics it is very hard (or very expensive) to properly test software, not to talk about possible risks. Hence the appeal of static analysis.

There is a demo page of the HAROS visualizer available on GitHub and a (slightly outdated) demo video on YouTube.

Current Status

HAROS is still being developed, as of January 2021.

Installing

To install HAROS, make sure that you have Python 2.7 or greater. Simply run the command:

pip install haros

For alternative methods, and to install external dependencies required for some features, see INSTALL.

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

This work is 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).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

haros-3.9.2.tar.gz (339.3 kB view details)

Uploaded Source

Built Distribution

haros-3.9.2-py2-none-any.whl (477.7 kB view details)

Uploaded Python 2

File details

Details for the file haros-3.9.2.tar.gz.

File metadata

  • Download URL: haros-3.9.2.tar.gz
  • Upload date:
  • Size: 339.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/2.7.15rc1

File hashes

Hashes for haros-3.9.2.tar.gz
Algorithm Hash digest
SHA256 201faac67b8f41d6498c75fa7f0938b564f2f8148679f5d430ea09e9b475e23a
MD5 bf1f6f7f71c302431650b69fd45cd5f5
BLAKE2b-256 4a2558c816bea1badb283e7255d1957a19028a2d4b3b6ceef8f30d0000581972

See more details on using hashes here.

File details

Details for the file haros-3.9.2-py2-none-any.whl.

File metadata

  • Download URL: haros-3.9.2-py2-none-any.whl
  • Upload date:
  • Size: 477.7 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/2.7.15rc1

File hashes

Hashes for haros-3.9.2-py2-none-any.whl
Algorithm Hash digest
SHA256 fac30203e6107efee066b55fcbe341ec8be1daa3754ba9a7bc22d2380ee1f037
MD5 f5669b25eff2c1a2ce5040257ba6e6c5
BLAKE2b-256 b36ce79eca5aa654634ca3f8cee357912758a7890b7ef8e4d972dcd6339c2c2a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page