Show simple item record

Compiler Support for Robust and High Performance Autonomous Driving Environments

dc.contributor.authorZhang, Ze
dc.date.accessioned2023-01-30T16:14:46Z
dc.date.available2025-01-01
dc.date.available2023-01-30T16:14:46Z
dc.date.issued2022
dc.date.submitted2022
dc.identifier.urihttps://hdl.handle.net/2027.42/175705
dc.description.abstractWith 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.isoen_US
dc.subjectCompiler
dc.subjectAutonomoud Driving Systems
dc.subjectSafety and Security
dc.subjectReliability
dc.subjectPerformance Optimization
dc.subjectStatic Analysis and Code Instrumentation
dc.titleCompiler Support for Robust and High Performance Autonomous Driving Environments
dc.typeThesis
dc.description.thesisdegreenamePhDen_US
dc.description.thesisdegreedisciplineComputer Science & Engineering
dc.description.thesisdegreegrantorUniversity of Michigan, Horace H. Rackham School of Graduate Studies
dc.contributor.committeememberMahlke, Scott
dc.contributor.committeememberZhang, Zhengya
dc.contributor.committeememberMao, Z Morley
dc.contributor.committeememberTang, Lingjia
dc.subject.hlbsecondlevelComputer Science
dc.subject.hlbtoplevelEngineering
dc.description.bitstreamurlhttp://deepblue.lib.umich.edu/bitstream/2027.42/175705/1/zezhang_1.pdf
dc.identifier.doihttps://dx.doi.org/10.7302/6919
dc.identifier.orcid0000-0002-8290-1878
dc.identifier.name-orcidZhang, Ze; 0000-0002-8290-1878en_US
dc.owningcollnameDissertations and Theses (Ph.D. and Master's)


Files in this item

Show simple item record

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.