Compiler Support for Robust and High Performance Autonomous Driving Environments
dc.contributor.author | Zhang, Ze | |
dc.date.accessioned | 2023-01-30T16:14:46Z | |
dc.date.available | 2025-01-01 | |
dc.date.available | 2023-01-30T16:14:46Z | |
dc.date.issued | 2022 | |
dc.date.submitted | 2022 | |
dc.identifier.uri | https://hdl.handle.net/2027.42/175705 | |
dc.description.abstract | With the emergence of autonomous vehicles, the entire world is undergoing a transportation revolution. An autonomous vehicle is a cyber-physical system that can sense its surrounding environments through a set of advanced sensors and calculate an optimal driving route to safely arrive at the specified destination without human intervention. Despite the potential benefits brought by self-driving cars, autonomous driving systems are still a maturing technology and face two unresolved problems. First, autonomous vehicles are vulnerable to malicious attacks and hardware faults which will compromise the execution correctness of the system, so making these systems robust against adverse events is a high priority. Second, with the growing computation demands of machine learning models, execution latency has become a critical constraint on resource-limited vehicles. To address these challenges, this thesis proposes a set of compiler methods that can not only enhance the safety of the self-driving system through efficient code-generation techniques, but also improve its execution efficiency by optimizing various machine learning models used by the perception module. First, I develop a systematic approach to protect measuring sensors from a variety of malicious cyber-physical attacks using user-defined safety and security policies. Inspired from existing defense mechanisms deployed in other domains such as internet of things and software defined networks, a centralized communication scheme is proposed to validate messages sent between different software modules. To enable the validation functionality of the central control module, we add two sets of program analysis algorithms to provide this module with system-level information and develop a domain specific language to define and generate the safety policies that it must enforce. This centralized framework, AVMaestro, can accurately detect sensor attacks and system anomalies while only incurring around 3% end-to-end delay. In addition to ensuring the sensor safety, I present a lightweight and effective method to detect illegal control flows happening in decision-making modules of the system. Two different checking methods are explored to detect control flow errors that erroneously jump to both nearby and faraway locations by comparing a run-time signature with statically determined candidates. Further, a low-cost inter-procedural control flow protection scheme is also investigated to cover function calls and returns. The combination of proposed checking methods, PaSS, only incurs 19.1% performance overhead while maintaining 99.0% fault coverage. In the last part of this thesis, I shift my focus from robust execution to performance optimization by reducing the execution latency on perception related machine learning models. A novel graph substitution algorithm is developed to efficiently identify and fuse parallel nodes in the computation graph of a machine learning model when doing so improves performance. Similarly, a set of node fission transformations is also developed to split one node into multiple nodes that can be executed in parallel. The proposed technique, GraphMorph, can further improve models' inference performance by up to 10.5% compared to state-of-the-art optimization approaches. | |
dc.language.iso | en_US | |
dc.subject | Compiler | |
dc.subject | Autonomoud Driving Systems | |
dc.subject | Safety and Security | |
dc.subject | Reliability | |
dc.subject | Performance Optimization | |
dc.subject | Static Analysis and Code Instrumentation | |
dc.title | Compiler Support for Robust and High Performance Autonomous Driving Environments | |
dc.type | Thesis | |
dc.description.thesisdegreename | PhD | en_US |
dc.description.thesisdegreediscipline | Computer Science & Engineering | |
dc.description.thesisdegreegrantor | University of Michigan, Horace H. Rackham School of Graduate Studies | |
dc.contributor.committeemember | Mahlke, Scott | |
dc.contributor.committeemember | Zhang, Zhengya | |
dc.contributor.committeemember | Mao, Z Morley | |
dc.contributor.committeemember | Tang, Lingjia | |
dc.subject.hlbsecondlevel | Computer Science | |
dc.subject.hlbtoplevel | Engineering | |
dc.description.bitstreamurl | http://deepblue.lib.umich.edu/bitstream/2027.42/175705/1/zezhang_1.pdf | |
dc.identifier.doi | https://dx.doi.org/10.7302/6919 | |
dc.identifier.orcid | 0000-0002-8290-1878 | |
dc.identifier.name-orcid | Zhang, Ze; 0000-0002-8290-1878 | en_US |
dc.owningcollname | Dissertations and Theses (Ph.D. and Master's) |
Files in this item
Remediation of Harmful Language
The University of Michigan Library aims to describe its collections in a way that respects the people and communities who create, use, and are represented in them. We encourage you to Contact Us anonymously if you encounter harmful or problematic language in catalog records or finding aids. More information about our policies and practices is available at Remediation of Harmful Language.
Accessibility
If you are unable to use this file in its current format, please select the Contact Us link and we can modify it to make it more accessible to you.