-
タイトル:
00-01 Panoramica Del Corso
-
概説:
-
Mi chiamo Andreas Zeller. Sono ricercatore all'universita' Saarland in Germania
-
e studio programmi di grandi dimensioni e il motivo per cui si inceppano.
-
Ho lavorato molto sulle procedure automatiche di debugging, ho scavato pure nella storia dei programmi.
-
Ho lavorato in aziende quali Microsoft, SAP o Google,
-
esaminato i loro bugs, trovato cosa non funzionava e mi ha colpito
-
il fatto che non c'e' praticamente nessun materiale disponibile sul debugging e su come fare il debug ai programmi.
-
Percio' oggi iniziero' con voi un corso su come fare sistematicamente il debug
-
efficacememente e, in molti casi, pure in automatico. Buon divertimento.
-
Benvenuto al corso di debugging Udacity.
-
Lo scopo di questo corso e' insegnare un approccio sistematico al debugging
-
ed andremo pure ad esplorare una quantita' di strumenti automatici che faranno debugging al posto vostro.
-
Andremo ad esplorare come funzionano i debuggers,
-
In particolare, l'approccio scientifco al debugging col quale,
-
attraverso una serie di esperimenti, affineremo gradualmente un ipotesi
-
al fine di concludere con una diagnosi sul perche' il programma si e' inceppato.
-
Ma soprattutto, costruiremo il nostro debugger interattivo in Python.
-
Nella sezione che segue, vi introdurro' ad uno degli strumenti
-
di debugging piu' potenti mai inventati, cioe' le assertions.
-
Le assertions sono istruzioni di un programma che rilevano automaticamente
-
il corretto stato di funzionamento di un programma.
-
Vale a dire, mentre il vostro programma e' in esecuzione, il computer monitorizza costantemente
-
se si sia verificato un errore nel programma.
-
Cio' vi consente in modo rapido ed efficiente di capire il punto in cui l'errore ha avuto origine.
-
Soprattutto, noi creeremo uno strumento per farvi dedurre le assertion dalle esecuzioni.
-
Nella sezione 3 vi illustrero' una tecnica chiamata "delta debugging"
-
che semplifichera' automaticamente i problemi.
-
Per esempio, ecco un file HTML di 900 righe che manda in crash un programma che lo esegue.
-
Con il delta debugging possiamo ridurre il tutto a soli otto caratteri,
-
che riproducono il bug cosi' com'e' e il tutto in automatico.
-
Nella sezione successiva, vi faro' vedere come scoprire da dove vien fuori un guasto specifico.
-
Vedete qui l'esecuzione di una serie di stati?
-
Noi andremo ad esplorare le tecniche che vi aiuteranno a seguire
-
le tracce di un errore lungo tutta l'esecuzione di un programma.
-
E soprattutto, costruiremo uno strumento che isoli automaticamente questi fenomeni di causa-effetto.
-
Nella sezione 5 osserveremo come riprodurre i guasti.
-
Osserveremo tutte le sorgenti di input del vostro programma
-
e discuteremo su come catturarli e ripeterli per riprodurre
-
fedelmente un guasto che si verifichi "sul campo".
-
Poi, andremo ad esplorare il debugging statistico, che raccoglie i dati sul campo
-
per dirvi quali parti del vostro programma sono piu' portate ad incepparsi.
-
Nella sezione 6, vedremo come scavare le informazioni
-
dai database di debugging e di modifica per riuscire a capire
-
dove si trovavano i bug nel vostro programma in passato, dove si accumulano
-
e quindi dove saranno in futuro le parti di "ventre molle" del vostro progamma.
-
E anche qui, tutto in automatico.
-
Finora non vi siete divertiti molto a fare debugging perche' vi ha reso la vita uno schifo.
-
Lo scopo di questo corso e' di alleggerire dalle vostre spalle la fatica di fare debugging
-
perche' sara' il vostro computer a fare il lavoro per voi.
-
Quindi la vostra mente sara' libera di fare cose ben piu' creative che fare debugging.