Accurate profiling of oracles for self-checking time-constrained embedded software

One way to ensure the correct execution of embedded software is to keep debugging and testing even after shipping of the application, complemented with recovery/restart operations. In this context, the oracles, i.e., assertions and checkers, that have been widely used in the development process for...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Bronuzzi, S., Di Guglielmo, G., Fummi, F., Pravadelli, G.
Format: Tagungsbericht
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:One way to ensure the correct execution of embedded software is to keep debugging and testing even after shipping of the application, complemented with recovery/restart operations. In this context, the oracles, i.e., assertions and checkers, that have been widely used in the development process for design validation, can be deployed again in the final product. The application will use the oracles to monitor itself under the actual execution. In this way, erroneous out-of-the-specification behaviors can be captured at runtime. However, self-checking mechanisms come at a computational cost, which may affect time constrains of embedded software. Thus, the oracles shall be introduced while satisfying these time constraints. This work proposes a profiling approach for oracles in embedded software, which proves to be more accurate than traditional profiling approaches, e.g., statistical sampling techniques. Profiling the execution time of oracles permits to finely tune the execution rate of the application to avoid timing violation, and to increase application responsiveness. Experimental results have been carried out on an industrial deployment platform for real-time application, i.e., National Instruments PXI VeriStand.
ISSN:1552-6674
2471-7827
DOI:10.1109/HLDVT.2012.6418249