1 research outputs found

    Analyse expliziter Zustandsverwaltung als Mittel der Synchronisation

    Get PDF
    ParallelitĂ€t ist fester Bestandteil moderner Softwareentwicklung. NebenlĂ€ufige Zugriffe auf geteilte Ressourcen mĂŒssen synchronisiert werden, da sonst Softwarefehler wie Data-Races entstehen. Zur Synchronisation werden neben etablierten auch hĂ€ufig »selbstgestrickte« zustandsbasierte Mechanismen eingesetzt. Diese implementieren oft endliche Automaten. Bestehenden leichtgewichtigen, auf Mustererkennung ausgerichteten AnsĂ€tzen zur Analyse von Synchronisationseigenschaften expliziter Zustandsverwaltung fehlt es an MĂ€chtigkeit, um solche Muster befriedigend zu analysieren. Diese Abhandlung stellt einen neuen, deutlich schwergewichtigeren Ansatz zur Analyse expliziter Zustandsverwaltung als Mittel der Synchronisation vor. Dabei reduziert statische Analyse in der Sprache C geschriebene Systeme auf im formalen ProzesskalkĂŒl CSP verfasste Modelle. Refinement-Checker untersuchen, ob Paare von Zugriffen auf Variablen im Modell ein Data-Race bilden. LĂ€sst sich das Data-Race im Modell ausschließen, ist es dank konservativer Approximierung auch im ursprĂŒnglichen System unerreichbar. Die Modellierung und Vorverarbeitung des Modells wird erlĂ€utert. Die Evaluation zeigt, dass der neue Ansatz oft eine bessere EinschĂ€tzung der Synchronisationseigenschaften expliziter Zustandsverwaltung liefert als bisherige AnsĂ€tze. Die Anwendung auf reale eingebettete Systeme aus Automobilen demonstriert, dass der Ansatz praktisch einsetzbar ist
    corecore