Italian 字幕

← 00-01 Panoramica Del Corso

埋め込みコードを取得する
6言語

Showing Revision 4 created 01/14/2013 by fabio.

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