Differences

This shows you the differences between two versions of the page.

Link to this comparison view

tsc:laboratoare:laborator-09 [2024/05/14 23:51]
dragos.isopencu
tsc:laboratoare:laborator-09 [2025/05/12 13:42] (current)
matei.calugaru [Fuzz testing]
Line 72: Line 72:
 Pentru acest laborator vom folosi fuzzer-ul atheris. Pentru acest laborator vom folosi fuzzer-ul atheris.
 <note tip><​code teraterm>​ <note tip><​code teraterm>​
-$pip install atheris+Atheris supports Linux (32- and 64-bit) and Mac OS X, Python versions 3.6-3.11.
 </​code></​note>​ </​code></​note>​
  
 +<note tip><​code teraterm>​
 +$pip install atheris
 +</​code></​note>​
  
  
Line 98: Line 101:
 {{:​tsc:​laboratoare:​result_atheris.jpeg?​600|}} {{:​tsc:​laboratoare:​result_atheris.jpeg?​600|}}
  
-În același fișier în care se află executabilul atheris va genera un nou fișier text cu numele hash-ului generat, în care va scrie input-urile care au dus la generarea erorilor. În cazul de mai sus va crea dun fișier care conține doar cuvântul "​bad"​+În același fișier în care se află executabilul atheris va genera un nou fișier text cu numele hash-ului generat, în care va scrie input-urile care au dus la generarea erorilor. În cazul de mai sus va crea un fișier care conține doar cuvântul "​bad"​.
  
 Pentru a-i putea spune lui atheris care părți din cod trebuie instrumentate. Pentru a face acest lucru avem 3 opțiuni: Pentru a-i putea spune lui atheris care părți din cod trebuie instrumentate. Pentru a face acest lucru avem 3 opțiuni:
Line 123: Line 126:
  
 ==== Exerciții ==== ==== Exerciții ====
-0) Citiți documentația pentru atheris: [[https://​github.com/​google/​atheris]] 
  
-1) Pentru ​început, scrieți o colecție de 5 funcții care pot genera excepții în cazul datelor de intrare eronate ​și scrieți teste pentru fiecare funcțieFolosiți atheris pentru a depista inputurile care ar putea genera erori+Pentru ​a clona [[https://​github.com/​cs-pub-ro/​systems-testing | repo-ul]] ​și a accesa resursele aferente laboratorului:​ 
 + 
 +<code bash> 
 +student@tsc:​~$ git clone git@github.com:​cs-pub-ro/​systems-testing.git 
 +student@tsc:​~$ cd systems-testing/​laboratories 
 +student@tsc:​~/​laboratories$ cd system-reg-fuzz-testing 
 +</​code>​ 
 + 
 +Dacă aveți local [[https://​github.com/​cs-pub-ro/​systems-testing | repo-ul]], asigurați-vă că aveți ultima versiune. 
 + 
 +<code bash> 
 +student@tsc:​~$ cd systems-testing 
 +student@tsc:​~$ git pull 
 +</​code>​
  
-2) Pentru aceleași funcții de mai sus, creați încă ​un set de teste de regresiegenerați primul output de referință, apoi alterați testele și analizați mesajele de eroare.+Dacă folosiți un fork al repo-uluiasigurați-vă că este sincronizat cu repo-ul principal.
  
 +TODO-urile sunt scrise pentru fiecare exercitiu in repo.
  
  
tsc/laboratoare/laborator-09.1715719914.txt.gz · Last modified: 2024/05/14 23:51 by dragos.isopencu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0