RobotFix : Detecting Bugs On Variables In Robot Programs
Autor(a) principal: | |
---|---|
Data de Publicação: | 2022 |
Tipo de documento: | Dissertação |
Idioma: | eng |
Título da fonte: | Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
Texto Completo: | http://hdl.handle.net/10451/57666 |
Resumo: | Tese de mestrado, Engenharia Informática, 2022, Universidade de Lisboa, Faculdade de Ciências |
id |
RCAP_da7cd3b744a4bbfa2633fe3925a77af3 |
---|---|
oai_identifier_str |
oai:repositorio.ul.pt:10451/57666 |
network_acronym_str |
RCAP |
network_name_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository_id_str |
7160 |
spelling |
RobotFix : Detecting Bugs On Variables In Robot ProgramsRobot Operating SystemSistemas RobóticosDomain Specific LanguageVerificação estáticaSistemas de tiposTeses de mestrado - 2023Departamento de InformáticaTese de mestrado, Engenharia Informática, 2022, Universidade de Lisboa, Faculdade de CiênciasRobotic systems are everywhere (e.g., factories or medical surgeries) and are widely used with many real-world applications. However, programming robot systems is challenging, requiring domain-specific expertise. The Robot Operating System (ROS) is a flexible framework for writing software for large-scale robots, targeting a wide range of developers, from students to industry professionals. With ROS, developers can program robots to follow complex behaviors. However, due to its specificities, it is easy to introduce bugs in ROS projects through a typo or making wrong assignments to variables regarding their unit or objective. Developers need to detect these and then fix them, which takes time and reduces their productivity and motivation. Furthermore, there is a lack of tools that help in detecting and fixing bugs, as well as verifying the absence of domain-specific errors. Additionally, existing tools do not provide the desired assurance on unit values and units. This work aims to improve the robot programming process and help users make fewer mistakes while programming. This work created RobotFix tool to help programmers in finding errors related to variables. With RobotFix, developers can annotate the variable unit and intervals that variable value should respect. With our approach, developers will know that they are using the wrong unit (e.g., adding km/h and m/s) or a value that does not respect certain conditions (e.g., a programmer introducing negative seconds into a variable). This approach has the advantage of providing feedback about the correctness of the code before executing, saving time and cost in testing the robot both in simulation or in the field. Testing in robotics has its disadvantages, like the shortcomings of simulators and the infeasible cost of testing all combinations of inputs. The approach was implemented into a prototype called RobotFix. Then, I evaluated the approach on programs related to 20 bugs made by ROS programmers. RobotFix succeeded in finding the bugs and showed that it could be a helpful tool for robotic programmers in the future.Fonseca, Alcides Miguel Cachulo AguiarTimperley, Christopher StevenRepositório da Universidade de LisboaTavares, Miguel Rodrigues2023-05-30T09:33:54Z202320222023-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10451/57666TID:203499492enginfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2024-11-20T18:21:49Zoai:repositorio.ul.pt:10451/57666Portal AgregadorONGhttps://www.rcaap.pt/oai/openairemluisa.alvim@gmail.comopendoar:71602024-11-20T18:21:49Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse |
dc.title.none.fl_str_mv |
RobotFix : Detecting Bugs On Variables In Robot Programs |
title |
RobotFix : Detecting Bugs On Variables In Robot Programs |
spellingShingle |
RobotFix : Detecting Bugs On Variables In Robot Programs Tavares, Miguel Rodrigues Robot Operating System Sistemas Robóticos Domain Specific Language Verificação estática Sistemas de tipos Teses de mestrado - 2023 Departamento de Informática |
title_short |
RobotFix : Detecting Bugs On Variables In Robot Programs |
title_full |
RobotFix : Detecting Bugs On Variables In Robot Programs |
title_fullStr |
RobotFix : Detecting Bugs On Variables In Robot Programs |
title_full_unstemmed |
RobotFix : Detecting Bugs On Variables In Robot Programs |
title_sort |
RobotFix : Detecting Bugs On Variables In Robot Programs |
author |
Tavares, Miguel Rodrigues |
author_facet |
Tavares, Miguel Rodrigues |
author_role |
author |
dc.contributor.none.fl_str_mv |
Fonseca, Alcides Miguel Cachulo Aguiar Timperley, Christopher Steven Repositório da Universidade de Lisboa |
dc.contributor.author.fl_str_mv |
Tavares, Miguel Rodrigues |
dc.subject.por.fl_str_mv |
Robot Operating System Sistemas Robóticos Domain Specific Language Verificação estática Sistemas de tipos Teses de mestrado - 2023 Departamento de Informática |
topic |
Robot Operating System Sistemas Robóticos Domain Specific Language Verificação estática Sistemas de tipos Teses de mestrado - 2023 Departamento de Informática |
description |
Tese de mestrado, Engenharia Informática, 2022, Universidade de Lisboa, Faculdade de Ciências |
publishDate |
2022 |
dc.date.none.fl_str_mv |
2022 2023-05-30T09:33:54Z 2023 2023-01-01T00:00:00Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/10451/57666 TID:203499492 |
url |
http://hdl.handle.net/10451/57666 |
identifier_str_mv |
TID:203499492 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.source.none.fl_str_mv |
reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação instacron:RCAAP |
instname_str |
Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
collection |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository.name.fl_str_mv |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
repository.mail.fl_str_mv |
mluisa.alvim@gmail.com |
_version_ |
1817549237432352768 |