Ladění Delta - Delta debugging
![]() | Tento článek má několik problémů. Prosím pomozte vylepši to nebo diskutovat o těchto otázkách na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
Ladění Delta je metodika pro automatizaci ladění programů využívajících vědecký přístup smyčky hypotéza-pokus-výsledek. Tuto metodiku poprvé vytvořil Andreas Zeller ze Sárské univerzity v roce 1999.[1]
V praxi algoritmus ladění Delta staví na testování jednotky izolovat příčiny selhání automaticky - systematickým zúžením okolností způsobujících selhání, dokud nezůstane minimální množina. Například pokud můžete zadat testovací případ, který způsobí chybu, kterou hledáte, můžete ji přenést do algoritmu Delta Debugging, který se pak jednoduše pokusí ořezat zbytečné funkce a řádky kódu, které nejsou potřeba k reprodukci chyba, dokud nebude nalezen 1-minimální program.
Ladění Delta bylo použito k izolaci vstupu programu vyvolávajícího selhání (např. Stránka HTML, která způsobí selhání webového prohlížeče), interakci uživatele vyvolávající selhání (např. Stisknutí kláves, které způsobí selhání programu) nebo změny kódu programu vyvolávající selhání (např. po neúspěšném regresním testu).
Později byly některé nástroje pro vývoj softwaru inspirovány Delta Debugging, například půlené příkazy z kontrola revizí systémy (např. git-bisect, svn-bisect, hg-bisect atd.), které místo práce na kódu programu aplikují metodiku ladění delta na historii kódu porovnáním různých verzí, dokud není nalezena chybná změna.
Nedávno, Minimalizace dialogového okna sítě k nalezení nejmenší podmnožiny síťového provozu z původního dialogového okna je navržena technika založená na ladění delta, která při přehrání stále dosahuje stejného cíle jako původní dialogové okno [2]
Software
- delta - počítačový program k minimalizaci „zajímavých“ souborů, které podléhají zkoušce jejich zajímavosti [3]
- DD.py - implementace Delta Debugging v Pythonu; také vidět jeho tutorial
- Lithium - implementace vylepšeného algoritmu Delta Debugging v Pythonu
- C-snížit, který snižuje zdrojové soubory zapsané v C / C ++, používá algoritmy Delta
- Eclipse Plug-Ins
- DDinput - vstup vyvolávající poruchu
- DDzměna - Změny vyvolávající selhání
- DDstate - státy vyvolávající selhání
- XMLmate[4]
- Běžná implementace Lisp
- Igor - nástroj příkazového řádku
Viz také
Reference
- Andreas Zeller: Proč programy selhávají: Průvodce systematickým laděnímMorgan Kaufmann, ISBN 1-55860-866-4
- Poučení z historie kódu Prezentace na Google Tech Talk od původního vynálezce Delta Debugging
- ^ Zeller, Andreas (1999). „Včera můj program fungoval. Dnes ne. Proč?“. Softwarové inženýrství - ESEC / FSE '99. Přednášky z informatiky. 1687 (Softwarové inženýrství - ESEC / FSE’99 doi: 10.1007 / 3-540-48166-4_16 vyd.). Springer. 253–267. doi:10.1007/3-540-48166-4_16. ISBN 978-3-540-66538-0.
- ^ M. Zubair Rafique; et al. „Minimalizace dialogu v síti a rozdíl v dialogu v síti: Dvě nová primitiva pro aplikace zabezpečení sítě“ (PDF). Ve sborníku z 30. výroční konference o aplikacích zabezpečení počítače (ACSAC 2014). ACM.
- ^ danielwilkerson.com
- ^ „Detekce softwarových chyb pomocí genetických algoritmů“. 2014-03-05. Citováno 22. července 2015.
externí odkazy
- Projekt ladění Delta - rozsáhlá sbírka odkazů na nástroje a metody ladění delta
- Kurz Udacity o ladění softwaru od Andrease Zellera
![]() | Tento programování související článek je a pahýl. Wikipedii můžete pomoci pomocí rozšiřovat to. |