2023
Nembhard, Fitzroy D; Slhoub, Khaled A; Carvalho, Marco M
An Agent-Based Approach Toward Smart Software Testing Conference
Proceedings of the Future Technologies Conference, vol. 814, Lecture Notes in Networks and Systems book series (LNNS) Springer Nature Switzerland, 2023, ISBN: 978-3-031-47451-4.
Abstract | Links | BibTeX | Tags: AOSE, NLP, software testing, virtual assistant
@conference{nokey,
title = {An Agent-Based Approach Toward Smart Software Testing},
author = {Fitzroy D Nembhard and Khaled A Slhoub and Marco M Carvalho},
editor = {K. Arai},
doi = {https://doi.org/10.1007/978-3-031-47451-4_21},
isbn = {978-3-031-47451-4},
year = {2023},
date = {2023-11-01},
urldate = {2023-11-01},
booktitle = {Proceedings of the Future Technologies Conference},
volume = {814},
publisher = {Springer Nature Switzerland},
series = { Lecture Notes in Networks and Systems book series (LNNS)},
abstract = {As the field of software testing continues to advance, cooperative software testing and analysis has been proposed as a new methodology to help combat the challenges involved with performing highly effective software testing. Motivated by the understanding that auto-testing systems on their own are not powerful enough to address complications in testing complex real-world software, this model involves human-machine and machine-machine cooperation to make automated software testing processes more interactive and user-friendly. It is with this in mind that we propose an agent-based approach to software testing that involves teaming humans with virtual assistants on smart devices to help coordinate the tasks associated with testing complex real-world software. Currently, virtual assistants are widely used for interpersonal tasks such as purchasing items from restaurants, interfacing with mobile applications to create events and reminders, and composing and sending messages on behalf of the user. In this research, we create an agent-based framework and use it to demonstrate that a virtual assistant on a smart device can also be utilized to work closely with software testers to efficiently and effectively verify software functionality, generate reports, and communicate results with developers. We utilize unit testing to evaluate our proposed methodology by applying it to a set of Java projects. Our results show that virtual agents can be used to work with humans to coordinate tasks associated with unit-testing software.},
keywords = {AOSE, NLP, software testing, virtual assistant},
pubstate = {published},
tppubtype = {conference}
}
Fitzroy D Nembhard, Marco M Carvalho
Teaming humans with virtual assistants to detect and mitigate vulnerabilities Book Chapter
In: Arai, K. (Ed.): vol. 711, Chapter Lecture Notes in Networks and Systems, pp. 565-576, Springer Nature Switzerland, 2023.
Abstract | Links | BibTeX | Tags: Human-machine teaming, virtual assistant, vulnerability detection, vulnerability mitigation
@inbook{nokey,
title = {Teaming humans with virtual assistants to detect and mitigate vulnerabilities},
author = {Fitzroy D Nembhard, Marco M Carvalho},
editor = {Arai, K.},
url = {978-3-031-37717-4},
doi = {https://doi.org/10.1007/978-3-031-37717-4_35},
year = {2023},
date = {2023-07-13},
urldate = {2023-07-13},
volume = {711},
pages = {565-576},
publisher = {Springer Nature Switzerland},
chapter = {Lecture Notes in Networks and Systems},
series = {SAI 2023},
abstract = {The use of virtual assistants has grown significantly in recent years. This growth can be attributed to the prevalence of mobile devices and advances in the Internet of Things (IoT). While virtual assistants are widely used for interpersonal and social purposes such as ordering items from restaurants, creating reminders, and communicating with peers, their use is limited in cybersecurity and other computational sciences. In this research, we develop a framework that teams humans with virtual assistants on mobile devices in an effort to encourage the use of vulnerability detectors to mitigate errors in software and their underlying networks and systems. Creating effective cyber defenses involves teaming humans with machines in a way that enables secure orchestration, real-time communication, and unity of action. We demonstrate that a seamless coordination between human and AI can help minimize the number of errors in software systems, which will ultimately reduce data breaches and other cyber-related challenges plaguing our world.},
keywords = {Human-machine teaming, virtual assistant, vulnerability detection, vulnerability mitigation},
pubstate = {published},
tppubtype = {inbook}
}
2021
Nembhard, Fitzroy D.; Carvalho, Marco M.
A Smart and Defensive Human-Machine Approach to Code Analysis Proceedings Article
In: First International Workshop on Artificial Intelligence, IJCAI-ACD 2021, ijcai.org, 2021.
Abstract | BibTeX | Tags: agent, Google Assistant, NLP, virtual assistant, voice assistant, vulnerability detection
@inproceedings{IJCAINembhardCarvalho21,
title = {A Smart and Defensive Human-Machine Approach to Code Analysis},
author = {Fitzroy D. Nembhard and Marco M. Carvalho},
year = {2021},
date = {2021-08-20},
urldate = {2021-08-20},
booktitle = {First International Workshop on
Artificial Intelligence, IJCAI-ACD 2021},
publisher = {ijcai.org},
abstract = {Static analysis remains one of the most popular approaches for detecting and correcting poor or vulnerable program code. It involves the examination of code listings, test results, or other documentation to identify errors, violations of development standards, or other problems, with the ultimate goal of fixing these errors so that systems and software are as secure as possible. There exists a plethora of static analysis tools, which makes it challenging for businesses and programmers to select a tool to analyze their program code. It is imperative to find ways to improve code analysis so that it can be employed by cyber defenders to mitigate security risks. In this research, we propose a method that employs the use of virtual assistants to work with programmers to ensure that software are as safe as possible in order to protect safety-critical systems from data breaches and other attacks. The proposed method employs a recommender system that uses various metrics to help programmers select the most appropriate code analysis tool for their project and guides them through the analysis process. The system further tracks the user's behavior regarding the adoption of the recommended practices.},
keywords = {agent, Google Assistant, NLP, virtual assistant, voice assistant, vulnerability detection},
pubstate = {published},
tppubtype = {inproceedings}
}
Nembhard, Fitzroy D.; Carvalho, Marco M.
Conversational Code Analysis: The Future of Secure Coding Journal Article
In: IntechOpen, London, 2021.
Abstract | Links | BibTeX | Tags: Google Assistant, NLP, software security, virtual assistant, voice assistant, vulnerability detection
@article{nembhard2021conversational,
title = {Conversational Code Analysis: The Future of Secure Coding},
author = {Fitzroy D. Nembhard and Marco M. Carvalho},
doi = {10.5772/intechopen.98362},
year = {2021},
date = {2021-06-08},
urldate = {2021-06-08},
journal = {IntechOpen, London},
abstract = {The area of software development and secure coding can benefit significantly from advancements in virtual assistants. Research has shown that many coders neglect security in favor of meeting deadlines. This shortcoming leaves systems vulnerable to attackers. While a plethora of tools are available for programmers to scan their code for vulnerabilities, finding the right tool can be challenging. It is therefore imperative to adopt measures to get programmers to utilize code analysis tools that will help them produce more secure code. This chapter looks at the limitations of existing approaches to secure coding and proposes a methodology that allows programmers to scan and fix vulnerabilities in program code by communicating with virtual assistants on their smart devices. With the ubiquitous move towards virtual assistants, it is important to design systems that are more reliant on voice than on standard point-and-click and keyboard-driven approaches. Consequently, we propose MyCodeAnalyzer, a Google Assistant app and code analysis framework, which was designed to interactively scan program code for vulnerabilities and flaws using voice commands during development. We describe the proposed methodology, implement a prototype, test it on a vulnerable project and present our results.},
keywords = {Google Assistant, NLP, software security, virtual assistant, voice assistant, vulnerability detection},
pubstate = {published},
tppubtype = {article}
}