Interpretare abstractă

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

În informatică , interpretarea abstractă este o teorie validă de aproximare a semanticii programului , bazată pe funcții monotonice pe mulțimi ordonate , în special rețele . Poate fi văzut ca o execuție parțială a unui program pentru a aduna informații despre semantica acestuia (de exemplu, flux-control, flux de date) fără a efectua toate calculele.

Aplicarea sa concretă este analiza statică, extragerea automată a informațiilor despre posibilele execuții ale programului; aceste analize au două scopuri principale:

  • în cadrul compilatoarelor , să analizeze programe pentru a realiza anumite optimizări sau transformări (de exemplu, ofuscări);
  • în depanarea sau certificarea programelor împotriva claselor de erori.

Interpretarea abstractă a fost oficializată de cuplul francez Patrick Cousot și Radhia Cousot la sfârșitul anilor 1970. [1] [2]

Notă

  1. ^ Patrick Cousot, Radhia Cousot: "Interpretare abstractă: un model de rețea unificat pentru analiza statică a programelor prin construcție sau aproximarea punctelor fixe" . Înregistrarea conferinței celui de-al patrulea simpozion ACM pe principiile limbajelor de programare, Los Angeles, California, SUA, ianuarie 1977. ACM, 1977, pp. 238-252
  2. ^ Patrick Cousot, Radhia Cousot: „Proiectarea sistematică a cadrelor de analiză a programelor” . Înregistrarea conferinței celui de-al șaselea simpozion anual ACM privind principiile limbajelor de programare, San Antonio, Texas, SUA, ianuarie 1979. ACM Press, 1979, pp. 269-282

Alte proiecte