Original scientific paper As a fundamental issue in software testing, automatic test data generation is of crucial importance, which is essentially a constraint satisfaction problem and solved by search algorithms. In our previous research, branch and bound was proposed as our constraint solver and the look-ahead methods were elaborated. Based on interval arithmetic and symbolic execution, this paper focuses on the look-back or backtracking method, which is the hybridization of forward checking and conflict-directed backjumping, with the aim of improving the efficiency of backtracking in the search procedure. The closures of variables are used to facilitate the localization of the conflicts which cause dead ends. Empirical experiments prove the effectiveness of the proposed hybrid backtracking method and its applicability in engineering.
Keywords: automatic test data generation; backtracking; closure; conflict-directed backjumping; forward checking
Hibridni unatražni algoritam za automatsko generiranje podataka za ispitivanjeIzvorni znanstveni članak Kao osnovno pitanje u ispitivanju softvera, automatsko generiranje podataka za ispitivanje je od najveće važnosti, što je u biti problem zadovoljavanja ograničenja, a rješava se algoritmima pretraživanja. U našem prethodnom istraživanju za rješenje ograničenja predložena je metoda grananja i ograničavanja, a elaborirane su unaprijedne metode. Zasnovan na intervalnom aritmetičkom i simboličkom izvršenju, ovaj je rad usredotočen na unatražnu metodu, a to je povezivanje unaprijednog provjeravanja i unatražnog ispitivanja usmjerenog konflikta, u cilju poboljšanja učinkovitosti unatražnog praćenja u postupku traženja. Zatvaranja varijabli se koriste kako bi se olakšalo lociranje nesuglasica koje dovode do neriješenih rezultata (dead ends). Empirijski eksperimenti dokazuju učinkovitost predložene hibridne unatražne metode i njenu primjenljivost u inženjerstvu.Ključne riječi: automatsko generiranje podataka za ispitivanje; unaprijedno provjeravanje; unatražno praćenje; unatražno skakanje na osnovu konflikta; zatvaranje