Using Dynamic Binary Instrumentation to Detect Failures in Robotics Software

Autonomous and Robotics Systems (ARSs) are widespread, complex, and increasingly coming into contact with the public. Many of these systems are safety-critical, and it is vital to detect software errors to protect against harm. We propose a family of novel techniques to detect unusual program execut...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Katz, Deborah S, Timperley, Christopher S, Goues, Claire Le
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page
container_issue
container_start_page
container_title
container_volume
creator Katz, Deborah S
Timperley, Christopher S
Goues, Claire Le
description Autonomous and Robotics Systems (ARSs) are widespread, complex, and increasingly coming into contact with the public. Many of these systems are safety-critical, and it is vital to detect software errors to protect against harm. We propose a family of novel techniques to detect unusual program executions and incorrect program behavior. We model execution behavior by collecting low-level signals at run time and using those signals to build machine learning models. These models can identify previously-unseen executions that are more likely to exhibit errors. We describe a tractable approach for collecting dynamic binary runtime signals on ARSs, allowing the systems to absorb most of the overhead from dynamic instrumentation. The architecture of ARSs is particularly well-adapted to hiding the overhead from instrumentation. We demonstrate the efficiency of these approaches on ARDUPILOT -- a popular open-source autopilot software system -- and HUSKY -- an unmanned ground vehicle -- in simulation. We instrument executions to gather data from which we build supervised machine learning models of executions and evaluate the accuracy of these models. We also analyze the amount of training data needed to develop models with various degrees of accuracy, measure the overhead added to executions that use the analysis tool, and analyze which runtime signals are most useful for detecting unusual behavior on the program under test. In addition, we analyze the effects of timing delays on the functional behavior of ARSs.
doi_str_mv 10.48550/arxiv.2201.12464
format Article
fullrecord <record><control><sourceid>arxiv_GOX</sourceid><recordid>TN_cdi_arxiv_primary_2201_12464</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2201_12464</sourcerecordid><originalsourceid>FETCH-LOGICAL-a674-2af8633fe8fe9feb418884ccca1fb0d923ae58be94701480437961fa1f3d4c683</originalsourceid><addsrcrecordid>eNotz01OwzAUBGBvWKDCAVjhCyT4L46zhJZCpUhI0K6jF_e5stTYyHaB3p5SuprFSKP5CLnjrFamadgDpB__VQvBeM2F0uqa9Jvsw44ujgEmb-mTD5COdBVySYcJQ4HiY6Al0gUWtIUuwe8PCTP1gb7HMRZvM_2IrnxDwhty5WCf8faSM7JePq_nr1X_9rKaP_YV6FZVApzRUjo0DjuHo-LGGGWtBe5Gtu2EBGzMiJ1qGVeGKdl2mrtTK7fKaiNn5P5_9swZPpOfTqeHP9ZwZslfMkVIiQ</addsrcrecordid><sourcetype>Open Access Repository</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype></control><display><type>article</type><title>Using Dynamic Binary Instrumentation to Detect Failures in Robotics Software</title><source>arXiv.org</source><creator>Katz, Deborah S ; Timperley, Christopher S ; Goues, Claire Le</creator><creatorcontrib>Katz, Deborah S ; Timperley, Christopher S ; Goues, Claire Le</creatorcontrib><description>Autonomous and Robotics Systems (ARSs) are widespread, complex, and increasingly coming into contact with the public. Many of these systems are safety-critical, and it is vital to detect software errors to protect against harm. We propose a family of novel techniques to detect unusual program executions and incorrect program behavior. We model execution behavior by collecting low-level signals at run time and using those signals to build machine learning models. These models can identify previously-unseen executions that are more likely to exhibit errors. We describe a tractable approach for collecting dynamic binary runtime signals on ARSs, allowing the systems to absorb most of the overhead from dynamic instrumentation. The architecture of ARSs is particularly well-adapted to hiding the overhead from instrumentation. We demonstrate the efficiency of these approaches on ARDUPILOT -- a popular open-source autopilot software system -- and HUSKY -- an unmanned ground vehicle -- in simulation. We instrument executions to gather data from which we build supervised machine learning models of executions and evaluate the accuracy of these models. We also analyze the amount of training data needed to develop models with various degrees of accuracy, measure the overhead added to executions that use the analysis tool, and analyze which runtime signals are most useful for detecting unusual behavior on the program under test. In addition, we analyze the effects of timing delays on the functional behavior of ARSs.</description><identifier>DOI: 10.48550/arxiv.2201.12464</identifier><language>eng</language><subject>Computer Science - Software Engineering</subject><creationdate>2022-01</creationdate><rights>http://creativecommons.org/licenses/by/4.0</rights><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>228,230,778,883</link.rule.ids><linktorsrc>$$Uhttps://arxiv.org/abs/2201.12464$$EView_record_in_Cornell_University$$FView_record_in_$$GCornell_University$$Hfree_for_read</linktorsrc><backlink>$$Uhttps://doi.org/10.48550/arXiv.2201.12464$$DView paper in arXiv$$Hfree_for_read</backlink></links><search><creatorcontrib>Katz, Deborah S</creatorcontrib><creatorcontrib>Timperley, Christopher S</creatorcontrib><creatorcontrib>Goues, Claire Le</creatorcontrib><title>Using Dynamic Binary Instrumentation to Detect Failures in Robotics Software</title><description>Autonomous and Robotics Systems (ARSs) are widespread, complex, and increasingly coming into contact with the public. Many of these systems are safety-critical, and it is vital to detect software errors to protect against harm. We propose a family of novel techniques to detect unusual program executions and incorrect program behavior. We model execution behavior by collecting low-level signals at run time and using those signals to build machine learning models. These models can identify previously-unseen executions that are more likely to exhibit errors. We describe a tractable approach for collecting dynamic binary runtime signals on ARSs, allowing the systems to absorb most of the overhead from dynamic instrumentation. The architecture of ARSs is particularly well-adapted to hiding the overhead from instrumentation. We demonstrate the efficiency of these approaches on ARDUPILOT -- a popular open-source autopilot software system -- and HUSKY -- an unmanned ground vehicle -- in simulation. We instrument executions to gather data from which we build supervised machine learning models of executions and evaluate the accuracy of these models. We also analyze the amount of training data needed to develop models with various degrees of accuracy, measure the overhead added to executions that use the analysis tool, and analyze which runtime signals are most useful for detecting unusual behavior on the program under test. In addition, we analyze the effects of timing delays on the functional behavior of ARSs.</description><subject>Computer Science - Software Engineering</subject><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2022</creationdate><recordtype>article</recordtype><sourceid>GOX</sourceid><recordid>eNotz01OwzAUBGBvWKDCAVjhCyT4L46zhJZCpUhI0K6jF_e5stTYyHaB3p5SuprFSKP5CLnjrFamadgDpB__VQvBeM2F0uqa9Jvsw44ujgEmb-mTD5COdBVySYcJQ4HiY6Al0gUWtIUuwe8PCTP1gb7HMRZvM_2IrnxDwhty5WCf8faSM7JePq_nr1X_9rKaP_YV6FZVApzRUjo0DjuHo-LGGGWtBe5Gtu2EBGzMiJ1qGVeGKdl2mrtTK7fKaiNn5P5_9swZPpOfTqeHP9ZwZslfMkVIiQ</recordid><startdate>20220128</startdate><enddate>20220128</enddate><creator>Katz, Deborah S</creator><creator>Timperley, Christopher S</creator><creator>Goues, Claire Le</creator><scope>AKY</scope><scope>GOX</scope></search><sort><creationdate>20220128</creationdate><title>Using Dynamic Binary Instrumentation to Detect Failures in Robotics Software</title><author>Katz, Deborah S ; Timperley, Christopher S ; Goues, Claire Le</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-a674-2af8633fe8fe9feb418884ccca1fb0d923ae58be94701480437961fa1f3d4c683</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2022</creationdate><topic>Computer Science - Software Engineering</topic><toplevel>online_resources</toplevel><creatorcontrib>Katz, Deborah S</creatorcontrib><creatorcontrib>Timperley, Christopher S</creatorcontrib><creatorcontrib>Goues, Claire Le</creatorcontrib><collection>arXiv Computer Science</collection><collection>arXiv.org</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Katz, Deborah S</au><au>Timperley, Christopher S</au><au>Goues, Claire Le</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Using Dynamic Binary Instrumentation to Detect Failures in Robotics Software</atitle><date>2022-01-28</date><risdate>2022</risdate><abstract>Autonomous and Robotics Systems (ARSs) are widespread, complex, and increasingly coming into contact with the public. Many of these systems are safety-critical, and it is vital to detect software errors to protect against harm. We propose a family of novel techniques to detect unusual program executions and incorrect program behavior. We model execution behavior by collecting low-level signals at run time and using those signals to build machine learning models. These models can identify previously-unseen executions that are more likely to exhibit errors. We describe a tractable approach for collecting dynamic binary runtime signals on ARSs, allowing the systems to absorb most of the overhead from dynamic instrumentation. The architecture of ARSs is particularly well-adapted to hiding the overhead from instrumentation. We demonstrate the efficiency of these approaches on ARDUPILOT -- a popular open-source autopilot software system -- and HUSKY -- an unmanned ground vehicle -- in simulation. We instrument executions to gather data from which we build supervised machine learning models of executions and evaluate the accuracy of these models. We also analyze the amount of training data needed to develop models with various degrees of accuracy, measure the overhead added to executions that use the analysis tool, and analyze which runtime signals are most useful for detecting unusual behavior on the program under test. In addition, we analyze the effects of timing delays on the functional behavior of ARSs.</abstract><doi>10.48550/arxiv.2201.12464</doi><oa>free_for_read</oa></addata></record>
fulltext fulltext_linktorsrc
identifier DOI: 10.48550/arxiv.2201.12464
ispartof
issn
language eng
recordid cdi_arxiv_primary_2201_12464
source arXiv.org
subjects Computer Science - Software Engineering
title Using Dynamic Binary Instrumentation to Detect Failures in Robotics Software
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-17T04%3A39%3A39IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-arxiv_GOX&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Using%20Dynamic%20Binary%20Instrumentation%20to%20Detect%20Failures%20in%20Robotics%20Software&rft.au=Katz,%20Deborah%20S&rft.date=2022-01-28&rft_id=info:doi/10.48550/arxiv.2201.12464&rft_dat=%3Carxiv_GOX%3E2201_12464%3C/arxiv_GOX%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true