
NSF Org: |
CCF Division of Computing and Communication Foundations |
Recipient: |
|
Initial Amendment Date: | December 7, 2018 |
Latest Amendment Date: | December 7, 2018 |
Award Number: | 1853374 |
Award Instrument: | Standard Grant |
Program Manager: |
Sol Greenspan
sgreensp@nsf.gov (703)292-7841 CCF Division of Computing and Communication Foundations CSE Directorate for Computer and Information Science and Engineering |
Start Date: | August 1, 2018 |
End Date: | July 31, 2021 (Estimated) |
Total Intended Award Amount: | $416,001.00 |
Total Awarded Amount to Date: | $416,001.00 |
Funds Obligated to Date: |
|
History of Investigator: |
|
Recipient Sponsored Research Office: |
1001 EMMET ST N CHARLOTTESVILLE VA US 22903-4833 (434)924-4270 |
Sponsor Congressional District: |
|
Primary Place of Performance: |
P.O. BOX 400195 CHARLOTTESVILLE VA US 22904-4195 |
Primary Place of
Performance Congressional District: |
|
Unique Entity Identifier (UEI): |
|
Parent UEI: |
|
NSF Program(s): | Software & Hardware Foundation |
Primary Program Source: |
|
Program Reference Code(s): |
|
Program Element Code(s): |
|
Award Agency Code: | 4900 |
Fund Agency Code: | 4900 |
Assistance Listing Number(s): | 47.070 |
ABSTRACT
Systems interacting with the physical world (e.g., robots, embedded systems, cyber-physical systems) depend on the interplay of code and the physical environment. Yet, techniques and tools to support quality assurance efforts on such systems typically decouple code from the physical world to simplify the process. This research effort attempts to unlock the potential of reuniting these separate worlds, integrating the rules of the physical world with the logic of code to improve the quality of the systems we build.
The key intellectual challenges of this investigation include: 1) integrating the rules of the physical world into program analysis to help developers identify faults associated with the manipulation of physical units; 2) incorporating physical attributes manifested in code into simulation scenarios so that system designers can better explore the interplay between physical software and potential environments; and 3) inserting spatial reasoning into program analysis to help developers understand and verify how a system may translate and rotate in space over time. These efforts impact research communities by generating artifacts and tools currently lacking at the intersection of the software engineering and robotic communities, preparing several graduate students including those from underrepresented groups, and developing case studies on the faults and failures present in such systems to assist instructors, students, and practitioners to cultivate an informed perspective about the unique challenges these systems bring. The longer, broader aim is to improve the quality of these systems that increasingly affect all aspects of society.
PUBLICATIONS PRODUCED AS A RESULT OF THIS RESEARCH
Note:
When clicking on a Digital Object Identifier (DOI) number, you will be taken to an external
site maintained by the publisher. Some full text articles may not yet be available without a
charge during the embargo (administrative interval).
Some links on this page may take you to non-federal websites. Their policies may differ from
this site.
PROJECT OUTCOMES REPORT
Disclaimer
This Project Outcomes Report for the General Public is displayed verbatim as submitted by the Principal Investigator (PI) for this award. Any opinions, findings, and conclusions or recommendations expressed in this Report are those of the PI and do not necessarily reflect the views of the National Science Foundation; NSF has not approved or endorsed its content.
Intellectual Merit. The work conducted under this proposal was among the first to explore the subtle and often loosely specified connection between the code that runs systems that operate in the real world, like robots, and the physical attributes of those systems. It brought attention to the insidious presence of physical inconsistencies in code that drives such robotic systems, that is, code operations on variables that represent physical entities that are not treated according to the semantics of the physical world and can cause unintended behaviors. To address this challenge, this project: 1) quantified the challenges faced by engineers and the impact of current practices, 2) pioneered static analysis approaches to automatically detect physical type inconsistencies in code (in terms of misused dimensions and frames of references) in large bodies of code and also in other software artifacts like configuration and deployment files, and it 3) prototyped some of the first approaches for test case generation and debugging that blend physical robot models (kinematics and dynamics, complex simulated physical environments) and code to generate richer tests to validate robot systems.
Broader impact. This project helped prepare multiple graduate and undergraduate students in the development and application of unique techniques to analyze and validate the software that drives robots. Five graduate students (including one that earned a Ph.D. and is now a faculty member) and two undergraduates co-authored over 12 papers that have appeared at the top conferences in both software engineering and robotics venues. This work also resulted in multiple analysis tools and datasets that have been made publicly available. Last, the project insights were instrumental in the development of a new course that blends software engineering and robotics to prepare students to face the unique challenges of the increasingly important multidisciplinary domain of robot system development.
Last Modified: 08/03/2021
Modified by: Sebastian G Elbaum
Please report errors in award information by writing to: awardsearch@nsf.gov.