<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>1405-5546</journal-id>
<journal-title><![CDATA[Computación y Sistemas]]></journal-title>
<abbrev-journal-title><![CDATA[Comp. y Sist.]]></abbrev-journal-title>
<issn>1405-5546</issn>
<publisher>
<publisher-name><![CDATA[Instituto Politécnico Nacional, Centro de Investigación en Computación]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S1405-55462022000201035</article-id>
<article-id pub-id-type="doi">10.13053/cys-26-2-3887</article-id>
<title-group>
<article-title xml:lang="en"><![CDATA[Test Case Generation Using Symbolic Execution]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Pattnaik]]></surname>
<given-names><![CDATA[Saumendra]]></given-names>
</name>
<xref ref-type="aff" rid="Aff"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Sahoo]]></surname>
<given-names><![CDATA[Bidush Kumar]]></given-names>
</name>
<xref ref-type="aff" rid="Aff"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Panigrahi]]></surname>
<given-names><![CDATA[Chhabi Rani]]></given-names>
</name>
<xref ref-type="aff" rid="Aff"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Pattanayak]]></surname>
<given-names><![CDATA[Binod Kumar]]></given-names>
</name>
<xref ref-type="aff" rid="Aff"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Pati]]></surname>
<given-names><![CDATA[Bibudhendu]]></given-names>
</name>
<xref ref-type="aff" rid="Aff"/>
</contrib>
</contrib-group>
<aff id="Af1">
<institution><![CDATA[,Siksha &#8216;O&#8217; Anusandhan Dept. of Computer Science &amp; Engineering ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
<country>India</country>
</aff>
<aff id="Af2">
<institution><![CDATA[,Gandhi Institute for Education &amp; Technology Bhubaneswar Dept. of Computer Science &amp; Engineering ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
<country>India</country>
</aff>
<aff id="Af3">
<institution><![CDATA[,Rama Devi Women&#8217;s University Dept. of Computer Science ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
<country>India</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>06</month>
<year>2022</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>06</month>
<year>2022</year>
</pub-date>
<volume>26</volume>
<numero>2</numero>
<fpage>1035</fpage>
<lpage>1044</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.org.mx/scielo.php?script=sci_arttext&amp;pid=S1405-55462022000201035&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.mx/scielo.php?script=sci_abstract&amp;pid=S1405-55462022000201035&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.mx/scielo.php?script=sci_pdf&amp;pid=S1405-55462022000201035&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="en"><p><![CDATA[Abstract: Testing is a well-known technique for identifying errors in software programs. Testing can be done in two ways: Static analysis and Dynamic analysis. Symbolic execution plays a vital role in static analysis for test case generation and to find the unreachable path with minimum test cases. Unreachable path is a part of a program which can never be executed i.e., the symbolic execution doesn&#8217;t continue for that path and the current execution stops there. It generates a test suite for loop-free programs that is achieved by path coverage. In the best case program loops implies increase in the number of paths exponentially and in the worst case the program will not terminate. The functions of symbolic execution are test input generation, unreachable path detection, finding bugs in software programs, debugging. In this paper, we focus on dead code detection and test input generation using symbolic execution. Our execution for Java programs uses Java Path Finder (JPF) model tester. Our analysis shows that the symbolic execution method can be used to reduce symbolic execution time and to find out the unreachable path with less number of test cases.]]></p></abstract>
<kwd-group>
<kwd lng="en"><![CDATA[Symbolic execution]]></kwd>
<kwd lng="en"><![CDATA[path coverage]]></kwd>
<kwd lng="en"><![CDATA[unreachable path]]></kwd>
<kwd lng="en"><![CDATA[test input generation]]></kwd>
</kwd-group>
</article-meta>
</front><back>
<ref-list>
<ref id="B1">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Cadar]]></surname>
<given-names><![CDATA[C.]]></given-names>
</name>
<name>
<surname><![CDATA[Sen]]></surname>
<given-names><![CDATA[K.]]></given-names>
</name>
</person-group>
<article-title xml:lang=""><![CDATA[Symbolic execution for software testing: three decades later]]></article-title>
<source><![CDATA[Proceedings Communications of the ACM]]></source>
<year>2013</year>
<volume>56</volume>
<numero>2</numero>
<issue>2</issue>
<page-range>82-90</page-range></nlm-citation>
</ref>
<ref id="B2">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Khurshid]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[P&#259;s&#259;reanu]]></surname>
<given-names><![CDATA[C.S.]]></given-names>
</name>
<name>
<surname><![CDATA[Visser]]></surname>
<given-names><![CDATA[W.]]></given-names>
</name>
</person-group>
<source><![CDATA[Generalized symbolic execution for model checking and testing]]></source>
<year>2003</year>
<conf-name><![CDATA[ International Conference on Tools and Algorithms for the Construction and Analysis of Systems]]></conf-name>
<conf-loc>Berlin, Heidelberg </conf-loc>
<page-range>553-68</page-range></nlm-citation>
</ref>
<ref id="B3">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Wong]]></surname>
<given-names><![CDATA[E.]]></given-names>
</name>
<name>
<surname><![CDATA[Zhang]]></surname>
<given-names><![CDATA[L.]]></given-names>
</name>
<name>
<surname><![CDATA[Wang]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Liu]]></surname>
<given-names><![CDATA[T.]]></given-names>
</name>
<name>
<surname><![CDATA[Tan]]></surname>
<given-names><![CDATA[L.]]></given-names>
</name>
</person-group>
<source><![CDATA[Dase: Document-assisted symbolic execution for improving automated software testing]]></source>
<year>2015</year>
<conf-name><![CDATA[ 37th IEEE International Conference on Software Engineering]]></conf-name>
<conf-date>2015</conf-date>
<conf-loc> </conf-loc>
<page-range>620-31</page-range></nlm-citation>
</ref>
<ref id="B4">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Csallner]]></surname>
<given-names><![CDATA[C.]]></given-names>
</name>
<name>
<surname><![CDATA[Tillmann]]></surname>
<given-names><![CDATA[N.]]></given-names>
</name>
<name>
<surname><![CDATA[Smaragdakis]]></surname>
<given-names><![CDATA[Y.]]></given-names>
</name>
</person-group>
<source><![CDATA[DySy: Dynamic Symbolic Execution for Invariant Inference]]></source>
<year>2008</year>
<conf-name><![CDATA[ 30th international conference on Software engineering]]></conf-name>
<conf-loc> </conf-loc>
<page-range>281-90</page-range></nlm-citation>
</ref>
<ref id="B5">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Guo]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Kusano]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
<name>
<surname><![CDATA[Wang]]></surname>
<given-names><![CDATA[C.]]></given-names>
</name>
</person-group>
<source><![CDATA[Conc-iSE: Incremental symbolic execution of concurrent software]]></source>
<year>2016</year>
<conf-name><![CDATA[ 31st IEEE/ACM International Conference on Automated Software Engineering]]></conf-name>
<conf-loc> </conf-loc>
<page-range>531-42</page-range></nlm-citation>
</ref>
<ref id="B6">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Su]]></surname>
<given-names><![CDATA[T.]]></given-names>
</name>
<name>
<surname><![CDATA[Fu]]></surname>
<given-names><![CDATA[Z.]]></given-names>
</name>
<name>
<surname><![CDATA[Pu]]></surname>
<given-names><![CDATA[G.]]></given-names>
</name>
<name>
<surname><![CDATA[He]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[Su]]></surname>
<given-names><![CDATA[Z.]]></given-names>
</name>
</person-group>
<source><![CDATA[Combining symbolic execution and model checking for data flow testing]]></source>
<year>2015</year>
<volume>1</volume>
<conf-name><![CDATA[ IEEE/ACM 37th IEEE International Conference on Software Engineering]]></conf-name>
<conf-date>2015</conf-date>
<conf-loc> </conf-loc>
<page-range>654-65</page-range></nlm-citation>
</ref>
<ref id="B7">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Kersten]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
<name>
<surname><![CDATA[Person]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Rungta]]></surname>
<given-names><![CDATA[N.]]></given-names>
</name>
<name>
<surname><![CDATA[Tkachuk]]></surname>
<given-names><![CDATA[O.]]></given-names>
</name>
</person-group>
<article-title xml:lang=""><![CDATA[Improving coverage of test cases generated by symbolic pathfinder for programs with loops]]></article-title>
<source><![CDATA[ACM SIGSOFT Software Engineering Notes]]></source>
<year>2015</year>
<volume>40</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>1-5</page-range></nlm-citation>
</ref>
<ref id="B8">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Saxena]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
<name>
<surname><![CDATA[Poosankam]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
<name>
<surname><![CDATA[McCamant]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Song]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
</person-group>
<source><![CDATA[Loop-extended symbolic execution on binary programs]]></source>
<year>2009</year>
<conf-name><![CDATA[ eighteenth international symposium on Software testing and analysis]]></conf-name>
<conf-loc> </conf-loc>
<page-range>225-36</page-range></nlm-citation>
</ref>
<ref id="B9">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Chen]]></surname>
<given-names><![CDATA[Y.F.]]></given-names>
</name>
<name>
<surname><![CDATA[Gansner]]></surname>
<given-names><![CDATA[E.R.]]></given-names>
</name>
<name>
<surname><![CDATA[Koutsofios]]></surname>
<given-names><![CDATA[E.]]></given-names>
</name>
</person-group>
<article-title xml:lang=""><![CDATA[A C++ data model supporting reachability analysis and dead code detection]]></article-title>
<source><![CDATA[IEEE Transactions on Software Engineering]]></source>
<year>1998</year>
<volume>24</volume>
<numero>9</numero>
<issue>9</issue>
<page-range>682-94</page-range></nlm-citation>
</ref>
<ref id="B10">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Koenig]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
</person-group>
<article-title xml:lang=""><![CDATA[An example of dynamic binding in C++]]></article-title>
<source><![CDATA[Journal of Object-Oriented Programming]]></source>
<year>1988</year>
<volume>1</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>60-2</page-range></nlm-citation>
</ref>
<ref id="B11">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Godefroid]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
<name>
<surname><![CDATA[Klarlund]]></surname>
<given-names><![CDATA[N.]]></given-names>
</name>
<name>
<surname><![CDATA[Sen]]></surname>
<given-names><![CDATA[K.]]></given-names>
</name>
</person-group>
<source><![CDATA[DART: directed automated random testing]]></source>
<year>2005</year>
<conf-name><![CDATA[ ACM SIGPLAN conference on Programming language design and implementation]]></conf-name>
<conf-date>2005</conf-date>
<conf-loc> </conf-loc>
<page-range>213-23</page-range></nlm-citation>
</ref>
<ref id="B12">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[P&#259;s&#259;reanu]]></surname>
<given-names><![CDATA[C.S.]]></given-names>
</name>
<name>
<surname><![CDATA[Rungta]]></surname>
<given-names><![CDATA[N.]]></given-names>
</name>
</person-group>
<source><![CDATA[Symbolic PathFinder: symbolic execution of Java bytecode]]></source>
<year>2010</year>
<conf-name><![CDATA[ IEEE/ACM international conference on automated software engineering]]></conf-name>
<conf-loc> </conf-loc>
<page-range>179-80</page-range></nlm-citation>
</ref>
<ref id="B13">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Anand]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[P&#259;s&#259;reanu]]></surname>
<given-names><![CDATA[C.S.]]></given-names>
</name>
<name>
<surname><![CDATA[Visser]]></surname>
<given-names><![CDATA[W.]]></given-names>
</name>
</person-group>
<source><![CDATA[JPF&#8211;SE: A symbolic execution extension to java pathfinder]]></source>
<year>2007</year>
<conf-name><![CDATA[ International conference on tools and algorithms for the construction and analysis of systems]]></conf-name>
<conf-loc> </conf-loc>
<page-range>134-8</page-range><publisher-loc><![CDATA[Berlin, Heidelberg ]]></publisher-loc>
<publisher-name><![CDATA[Springer]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B14">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Sen]]></surname>
<given-names><![CDATA[K.]]></given-names>
</name>
<name>
<surname><![CDATA[Marinov]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
<name>
<surname><![CDATA[Agha]]></surname>
<given-names><![CDATA[G.]]></given-names>
</name>
</person-group>
<article-title xml:lang=""><![CDATA[CUTE: a concolic unit testing engine for C]]></article-title>
<source><![CDATA[ACM SIGSOFT Software Engineering Notes]]></source>
<year>2005</year>
<volume>30</volume>
<numero>5</numero>
<issue>5</issue>
<page-range>263-72</page-range></nlm-citation>
</ref>
<ref id="B15">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Betts]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
<name>
<surname><![CDATA[Chong]]></surname>
<given-names><![CDATA[N.]]></given-names>
</name>
<name>
<surname><![CDATA[Deligiannis]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
<name>
<surname><![CDATA[Donaldson]]></surname>
<given-names><![CDATA[A.F.]]></given-names>
</name>
<name>
<surname><![CDATA[Ketema]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
</person-group>
<article-title xml:lang=""><![CDATA[Implementing and evaluating candidate-based invariant generation]]></article-title>
<source><![CDATA[IEEE Transactions on Software Engineering]]></source>
<year>2017</year>
<volume>44</volume>
<numero>7</numero>
<issue>7</issue>
<page-range>631-50</page-range></nlm-citation>
</ref>
<ref id="B16">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Ernst]]></surname>
<given-names><![CDATA[M.D.]]></given-names>
</name>
<name>
<surname><![CDATA[Cockrell]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[Griswold]]></surname>
<given-names><![CDATA[W.G.]]></given-names>
</name>
<name>
<surname><![CDATA[Notkin]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
</person-group>
<article-title xml:lang=""><![CDATA[Dynamically discovering likely program invariants to support program evolution]]></article-title>
<source><![CDATA[IEEE Transactions on Software Engineering]]></source>
<year>2001</year>
<volume>27</volume>
<numero>2</numero>
<issue>2</issue>
<page-range>99-123</page-range></nlm-citation>
</ref>
<ref id="B17">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Abdulla]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
<name>
<surname><![CDATA[Aronis]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Jonsson]]></surname>
<given-names><![CDATA[B.]]></given-names>
</name>
<name>
<surname><![CDATA[Sagonas]]></surname>
<given-names><![CDATA[K.]]></given-names>
</name>
</person-group>
<article-title xml:lang=""><![CDATA[Optimal dynamic partial order reduction]]></article-title>
<source><![CDATA[ACM SIGPLAN Notices]]></source>
<year>2014</year>
<volume>49</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>373-84</page-range></nlm-citation>
</ref>
<ref id="B18">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Chattopadhyay]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
</person-group>
<source><![CDATA[Dynamic invariant generation for concurrent programs]]></source>
<year>2014</year>
<publisher-loc><![CDATA[Virginia Tech ]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B19">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Nimmer]]></surname>
<given-names><![CDATA[J.W.]]></given-names>
</name>
<name>
<surname><![CDATA[Ernst]]></surname>
<given-names><![CDATA[M.D.]]></given-names>
</name>
</person-group>
<article-title xml:lang=""><![CDATA[Invariant inference for static checking: An empirical evaluation]]></article-title>
<source><![CDATA[ACM SIGSOFT Software Engineering Notes]]></source>
<year>2002</year>
<volume>27</volume>
<numero>6</numero>
<issue>6</issue>
<page-range>11-20</page-range></nlm-citation>
</ref>
<ref id="B20">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Allen-Weiss]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
</person-group>
<source><![CDATA[Data structures and algorithm analysis in C++]]></source>
<year>2007</year>
<publisher-name><![CDATA[Pearson Education India]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B21">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Panigrahi]]></surname>
<given-names><![CDATA[C.R.]]></given-names>
</name>
<name>
<surname><![CDATA[Mall]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
</person-group>
<article-title xml:lang=""><![CDATA[Model-based regression test case prioritization]]></article-title>
<source><![CDATA[ACM SIGSOFT Software Engineering Notes]]></source>
<year>2010</year>
<volume>35</volume>
<numero>6</numero>
<issue>6</issue>
<page-range>1-7</page-range></nlm-citation>
</ref>
<ref id="B22">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Streitel]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
<name>
<surname><![CDATA[Steidl]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
<name>
<surname><![CDATA[Jürgens]]></surname>
<given-names><![CDATA[E.]]></given-names>
</name>
</person-group>
<article-title xml:lang=""><![CDATA[Dead code detection on class level]]></article-title>
<source><![CDATA[Softwaretechnik-Trends]]></source>
<year>2014</year>
<volume>34</volume>
<numero>2</numero>
<issue>2</issue>
</nlm-citation>
</ref>
<ref id="B23">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Pizzutillo]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
</person-group>
<source><![CDATA[Static analysis: Leveraging source code analysis to reign in application maintenance cost]]></source>
<year>2013</year>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
