Heuristic Guided Selective Path Exploration for Loop Structure in Coverage Testing

Static program analysis is a strong technique for analyzing program behavior, but suffers from scalabilityproblem,suchaspathexplosionwhichiscausedbythepresenceofloopsandfunction calls.This article applies the selective executionmechanismandheuristic strategyonexploring pathsthroughloops.Thiscombinatorialstrategytriestoalleviatethepathexplosionproblemfrom threeaspects:1)exploringloopswithdifferentapproachesaccordingtotheirrelativepositiontoa specifictarget;2)combiningstaticanalysis,dynamicexecution,andsymbolicexecutiontodealwith theseparatedprogram;3)applyingaheuristicstrategyonofferingguidanceforthepathexploration. Theseapproachesareintegratedtoautomaticallygeneratepathsforspecifiedtargetsinloopstructure. Experimentalresultsshowthattheauthors’proposedstrategyisavailableforcombinationofdifferent loops.Itoutperformssomeexistingtechniquesonachievingbettercoverageforprogramscontaining loops,andisapplicableinengineering. KEywORdS Heuristic Strategy, Hybrid Strategy, Path Generation, Program Analysis, Symbolic Execution

[1]  Nikolai Tillmann,et al.  Fitness-guided path exploration in dynamic symbolic execution , 2009, 2009 IEEE/IFIP International Conference on Dependable Systems & Networks.

[2]  Sun Ding,et al.  Detection of Infeasible Paths: Approaches and Challenges , 2012, ENASE.

[3]  SIDNEY L. HANTLER,et al.  An Introduction to Proving the Correctness of Programs , 1976, CSUR.

[4]  Nikolai Tillmann,et al.  Characteristic studies of loop problems for structural test generation via symbolic execution , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[5]  Bogdan Korel,et al.  Dynamic method for software test data generation , 1992, Softw. Test. Verification Reliab..

[6]  Thomas A. Henzinger,et al.  Path invariants , 2007, PLDI '07.

[7]  Corina S. Pasareanu,et al.  Test input generation for java containers using state matching , 2006, ISSTA '06.

[8]  Bertrand Meyer,et al.  Inferring Loop Invariants Using Postconditions , 2010, Fields of Logic and Computation.

[9]  Ying Xing,et al.  The application of iterative interval arithmetic in path-wise test data generation , 2015, Eng. Appl. Artif. Intell..

[10]  Mark Harman,et al.  FloPSy - Search-Based Floating Point Constraint Solving for Symbolic Execution , 2010, ICTSS.

[11]  Antonia Bertolino,et al.  Automatic Generation of Path Covers Based on the Control Flow Analysis of Computer Programs , 1994, IEEE Trans. Software Eng..

[12]  Patrice Godefroid,et al.  Automated Whitebox Fuzz Testing , 2008, NDSS.

[13]  Paolo Bientinesi,et al.  Automatic Generation of Loop-Invariants for Matrix Operations , 2011, 2011 International Conference on Computational Science and Its Applications.

[14]  C. V. Ramamoorthy,et al.  On the Automated Generation of Program Test Data , 1976, IEEE Transactions on Software Engineering.

[15]  James C. King,et al.  Symbolic execution and program testing , 1976, CACM.

[16]  John A. Clark,et al.  A search-based automated test-data generation framework for safety-critical systems , 2002 .

[17]  Gul A. Agha,et al.  Targeted test input generation using symbolic-concrete backward execution , 2014, ASE.

[18]  Rupak Majumdar,et al.  Testing for buffer overflows with length abstraction , 2008, ISSTA '08.

[19]  Rupak Majumdar,et al.  Hybrid Concolic Testing , 2007, 29th International Conference on Software Engineering (ICSE'07).

[20]  Ying Xing,et al.  Optimized Branch and Bound for Path-wise Test Data Generation , 2014, Int. J. Comput. Commun. Control.

[21]  Xinghuo Yu,et al.  Conditions for the convergence of evolutionary algorithms , 2001, J. Syst. Archit..

[22]  Patrice Godefroid,et al.  Compositional dynamic test generation , 2007, POPL '07.

[23]  Gordon Fraser,et al.  Combining search-based and constraint-based testing , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[24]  Deepak Kapur,et al.  A Quantifier-Elimination Based Heuristic for Automatically Generating Inductive Assertions for Programs , 2006, J. Syst. Sci. Complex..

[25]  Phil McMinn,et al.  Search‐based software test data generation: a survey , 2004, Softw. Test. Verification Reliab..