468 research outputs found
Large-Block Modular Addition Checksum Algorithms
Checksum algorithms are widely employed due to their use of a simple
algorithm with fast computational speed to provide a basic detection capability
for corrupted data. This paper describes the benefits of adding the design
parameter of increased data block size for modular addition checksums, combined
with an empirical approach to modulus selection. A longer processing block size
with the right modulus can provide significantly better fault detection
performance with no change in the number of bytes used to store the check
value. In particular, a large-block dual-sum approach provides Hamming Distance
3-class fault detection performance for many times the data word length
capability of previously studied Fletcher and Adler checksums. Moduli of 253
and 65525 are identified as being particularly effective for general-purpose
checksum use.Comment: 21 pages, 15 figure
An Improved Modular Addition Checksum Algorithm
This paper introduces a checksum algorithm that provides a new point in the
performance/complexity/effectiveness checksum tradeoff space. It has better
fault detection properties than single-sum and dual-sum modular addition
checksums. It is also simpler to compute efficiently than a cyclic redundancy
check (CRC) due to exploiting commonly available hardware and programming
language support for unsigned integer division. The key idea is to compute a
single running sum, but introduce a left shift by the size (in bits) of the
modulus before performing the modular reduction after each addition step. This
approach provides a Hamming Distance of 3 for longer data word lengths than
dual-sum approaches such as the Fletcher checksum. Moreover, it provides this
capability using a single running sum that is only twice the size of the final
computed check value, while providing fault detection capabilities even better
than large-block variants of dual-sum approaches that require larger division
operations.Comment: 9 pages, 3 figure
Challenges in Autonomous Vehicle Testing and Validation
Abstract Software testing is all too often simply a bug hunt rather than a wellconsidered exercise in ensuring quality. A more methodical approach than a simple cycle of system-level test-fail-patch-test will be required to deploy safe autonomous vehicles at scale. The ISO 26262 development V process sets up a framework that ties each type of testing to a corresponding design or requirement document, but presents challenges when adapted to deal with the sorts of novel testing problems that face autonomous vehicles. This paper identifies five major challenge areas in testing according to the V model for autonomous vehicles: driver out of the loop, complex requirements, non-deterministic algorithms, inductive learning algorithms, and failoperational systems. General solution approaches that seem promising across these different challenge areas include: phased deployment using successively relaxed operational scenarios, use of a monitor/actuator pair architecture to separate the most complex autonomy functions from simpler safety functions, and fault injection as a way to perform more efficient edge case testing. While significant challenges remain in safety-certifying the type of algorithms that provide high-level autonomy themselves, it seems within reach to instead architect the system and its accompanying design process to be able to employ existing software safety approaches
Monitor Based Oracles for Cyber-Physical System Testing: Practical Experience Report
Abstract—Testing Cyber-Physical Systems is becoming in-creasingly challenging as they incorporate advanced autonomy features. We investigate using an external runtime monitor as a partial test oracle to detect violations of critical system behavioral requirements on an automotive development plat-form. Despite limited source code access and using only existing network messages, we were able to monitor a hardware-in-the-loop vehicle simulator and analyze prototype vehicle log data to detect violations of high-level critical properties. Interface robustness testing was useful to further exercise the monitors. Beyond demonstrating feasibility, the experience emphasized a number of remaining research challenges, including: approxi-mating system intent based on limited system state observability, how to best balance the simplicity and expressiveness of the specification language used to define monitored properties, how to warm up monitoring of system variable state after mode change discontinuities, and managing the differences between simulation and real vehicles when conducting such tests. I
- …