2013 43rd Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN) (2006)
June 25, 2006 to June 28, 2006
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/DSN.2006.66
Sumant Kowshik , University of Illinois at Urbana-Champaign
Grigore Rosu , University of Illinois at Urbana-Champaign
Lui Sha , University of Illinois at Urbana-Champaign
Embedded control systems consist of multiple components with different criticality levels interacting with each other. For example, in a passenger jet, the navigation system interacts with the passenger entertainment system in providing passengers the distance-to-destination information. It is imperative that failures in the non-critical subsystem should not compromise critical functionality. This architectural principle for robustness can, however, be easily compromised by implementation-level errors. We describe Safe- Flow, which statically analyzes core components in the system to ensure that they use non-core values communicated through shared memory only if they are run-time monitored for safety or recoverability. Using simple, local annotations and semantic restrictions on shared memory usage in the core component, SafeFlow precisely identifies accesses to unmonitored non-core values. With a few false positives, it identifies erroneous dependencies of critical data on noncore values that can arise due to programming errors, inadvertent accesses, or wrong assumptions regarding the absence of difficult-to-detect implementation errors such as data races and synchronization. We demonstrate the utility of SafeFlow by applying it to discover critical value flow dependencies in three prototype systems.
Sumant Kowshik, Grigore Rosu, Lui Sha, "Static Analysis to Enforce Safe Value Flow in Embedded Control Systems", 2013 43rd Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), vol. 00, no. , pp. 23-34, 2006, doi:10.1109/DSN.2006.66