Interpretare abstractă
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ă
- ^ 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
- ^ 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