Cuprins:
Definiție - Ce înseamnă analiza codului sursă?
Analiza codului sursă este testarea automatizată a codului sursă al unui program, în scopul de a constata defecțiuni și de a le remedia înainte ca vânzarea sau distribuirea aplicației.
Analiza codului sursă este sinonimă cu analiza codului static, unde codul sursă este analizat pur și simplu ca cod și programul nu se execută. Acest lucru elimină necesitatea creării și utilizării cazurilor de testare și poate fi separat de bug-urile specifice caracteristicilor, cum ar fi butoanele care au o culoare diferită de ceea ce spun specificațiile. Se concentrează pe constatarea defecțiunilor din program care pot fi în detrimentul funcției sale adecvate, cum ar fi liniile de cod care cauzează accidente.
Techopedia explică analiza codului sursă
Analiza codului sursă este practic debugarea automată de cod. Scopul este de a găsi erori și defecțiuni care poate nu sunt evidente pentru un programator. Este menit să găsească defecți, cum ar fi posibilele revărsări de tampon sau utilizarea neobișnuită a indicatoarelor și utilizarea greșită a funcțiilor de colectare a gunoiului, toate putând fi exploatate de un hacker.
Analizatorii de cod funcționează folosind reguli care îi spun ce să caute. Cu o precizie prea mică, un analizator ar putea arunca prea multe falsuri pozitive și inunda utilizatorul cu avertismente inutile, în timp ce prea multă precizie ar putea dura prea mult până la final; prin urmare, trebuie să fie un echilibru.
Există două tipuri de analizoare:
- Interprocedural - Detectează tiparele de la o funcție la alta, iar aceste tipare sunt corelate astfel încât analizatorul să poată crea un model și să simuleze căile de execuție.
- Intraprocedural - Se concentrează pe potrivirea modelului și depinde de ce tipuri de modele caută utilizatorul.
Analizoarele interprocedurale sunt mai moderne și mai complexe. Exemple bune sunt acoperirea, Fortify și instrumentul centralizat PREFix al Microsoft.