Instance Generator and Problem Representation to Improve Object Oriented Code Coverage. Sakti, A., Pesant, G., & Gu�h�neuc, Y. Transactions on Software Engineering (TSE), 40(99):1–22, IEEE CS Press, October, 2014. 22 pages.Paper abstract bibtex Search-based approaches have been extensively applied to solve the problem of software test-data generation. Yet, testdata generation for object-oriented programming (OOP) is challenging due to the features of OOP, e.g., abstraction, encapsulation, and visibility that prevent direct access to some parts of the source code. To address this problem we present a new automated search-based software test-data generation approach that achieves high code coverage for unit-class testing. We first describe how we structure the test-data generation problem for unit-class testing to generate relevant sequences of method calls. Through a static analysis, we consider only methods or constructors changing the state of the class-under-test or that may reach a test target. Then we introduce a generator of instances of classes that is based on a family of means-of-instantiation including subclasses and external factory methods. It also uses a seeding strategy and a diversification strategy to increase the likelihood to reach a test target. Using a search heuristic to reach all test targets at the same time, we implement our approach in a tool, JTExpert, that we evaluate on more than a hundred Java classes from different open-source libraries. JTExpert gives better results in terms of search time and code coverage than the state of the art, EvoSuite, which uses traditional techniques.
@ARTICLE{Sakti14-TSE-JTExpert,
AUTHOR = {Abdelilah Sakti and Gilles Pesant and
Yann-Ga�l Gu�h�neuc},
JOURNAL = {Transactions on Software Engineering (TSE)},
TITLE = {Instance Generator and Problem Representation to Improve
Object Oriented Code Coverage},
YEAR = {2014},
MONTH = {October},
NOTE = {22 pages.},
NUMBER = {99},
PAGES = {1--22},
VOLUME = {40},
EDITOR = {Matthew B. Dwyer},
KEYWORDS = {Topic: <b>Test case generation</b>, Venue: <b>TSE</b>},
PUBLISHER = {IEEE CS Press},
URL = {http://www.ptidej.net/publications/documents/TSE14b.doc.pdf},
ABSTRACT = {Search-based approaches have been extensively applied to
solve the problem of software test-data generation. Yet, testdata
generation for object-oriented programming (OOP) is challenging due
to the features of OOP, e.g., abstraction, encapsulation, and
visibility that prevent direct access to some parts of the source
code. To address this problem we present a new automated search-based
software test-data generation approach that achieves high code
coverage for unit-class testing. We first describe how we structure
the test-data generation problem for unit-class testing to generate
relevant sequences of method calls. Through a static analysis, we
consider only methods or constructors changing the state of the
class-under-test or that may reach a test target. Then we introduce a
generator of instances of classes that is based on a family of
means-of-instantiation including subclasses and external factory
methods. It also uses a seeding strategy and a diversification
strategy to increase the likelihood to reach a test target. Using a
search heuristic to reach all test targets at the same time, we
implement our approach in a tool, JTExpert, that we evaluate on more
than a hundred Java classes from different open-source libraries.
JTExpert gives better results in terms of search time and code
coverage than the state of the art, EvoSuite, which uses traditional
techniques.}
}
Downloads: 0
{"_id":"3xmcSvMKMPnkqdGSH","bibbaseid":"sakti-pesant-guhneuc-instancegeneratorandproblemrepresentationtoimproveobjectorientedcodecoverage-2014","downloads":0,"creationDate":"2018-01-17T20:29:42.273Z","title":"Instance Generator and Problem Representation to Improve Object Oriented Code Coverage","author_short":["Sakti, A.","Pesant, G.","Gu�h�neuc, Y."],"year":2014,"bibtype":"article","biburl":"http://www.yann-gael.gueheneuc.net/Work/Publications/Biblio/complete-bibliography.bib","bibdata":{"bibtype":"article","type":"article","author":[{"firstnames":["Abdelilah"],"propositions":[],"lastnames":["Sakti"],"suffixes":[]},{"firstnames":["Gilles"],"propositions":[],"lastnames":["Pesant"],"suffixes":[]},{"firstnames":["Yann-Ga�l"],"propositions":[],"lastnames":["Gu�h�neuc"],"suffixes":[]}],"journal":"Transactions on Software Engineering (TSE)","title":"Instance Generator and Problem Representation to Improve Object Oriented Code Coverage","year":"2014","month":"October","note":"22 pages.","number":"99","pages":"1–22","volume":"40","editor":[{"firstnames":["Matthew","B."],"propositions":[],"lastnames":["Dwyer"],"suffixes":[]}],"keywords":"Topic: <b>Test case generation</b>, Venue: <b>TSE</b>","publisher":"IEEE CS Press","url":"http://www.ptidej.net/publications/documents/TSE14b.doc.pdf","abstract":"Search-based approaches have been extensively applied to solve the problem of software test-data generation. Yet, testdata generation for object-oriented programming (OOP) is challenging due to the features of OOP, e.g., abstraction, encapsulation, and visibility that prevent direct access to some parts of the source code. To address this problem we present a new automated search-based software test-data generation approach that achieves high code coverage for unit-class testing. We first describe how we structure the test-data generation problem for unit-class testing to generate relevant sequences of method calls. Through a static analysis, we consider only methods or constructors changing the state of the class-under-test or that may reach a test target. Then we introduce a generator of instances of classes that is based on a family of means-of-instantiation including subclasses and external factory methods. It also uses a seeding strategy and a diversification strategy to increase the likelihood to reach a test target. Using a search heuristic to reach all test targets at the same time, we implement our approach in a tool, JTExpert, that we evaluate on more than a hundred Java classes from different open-source libraries. JTExpert gives better results in terms of search time and code coverage than the state of the art, EvoSuite, which uses traditional techniques.","bibtex":"@ARTICLE{Sakti14-TSE-JTExpert,\r\n AUTHOR = {Abdelilah Sakti and Gilles Pesant and \r\n Yann-Ga�l Gu�h�neuc},\r\n JOURNAL = {Transactions on Software Engineering (TSE)},\r\n TITLE = {Instance Generator and Problem Representation to Improve \r\n Object Oriented Code Coverage},\r\n YEAR = {2014},\r\n MONTH = {October},\r\n NOTE = {22 pages.},\r\n NUMBER = {99},\r\n PAGES = {1--22},\r\n VOLUME = {40},\r\n EDITOR = {Matthew B. Dwyer},\r\n KEYWORDS = {Topic: <b>Test case generation</b>, Venue: <b>TSE</b>},\r\n PUBLISHER = {IEEE CS Press},\r\n URL = {http://www.ptidej.net/publications/documents/TSE14b.doc.pdf},\r\n ABSTRACT = {Search-based approaches have been extensively applied to \r\n solve the problem of software test-data generation. Yet, testdata \r\n generation for object-oriented programming (OOP) is challenging due \r\n to the features of OOP, e.g., abstraction, encapsulation, and \r\n visibility that prevent direct access to some parts of the source \r\n code. To address this problem we present a new automated search-based \r\n software test-data generation approach that achieves high code \r\n coverage for unit-class testing. We first describe how we structure \r\n the test-data generation problem for unit-class testing to generate \r\n relevant sequences of method calls. Through a static analysis, we \r\n consider only methods or constructors changing the state of the \r\n class-under-test or that may reach a test target. Then we introduce a \r\n generator of instances of classes that is based on a family of \r\n means-of-instantiation including subclasses and external factory \r\n methods. It also uses a seeding strategy and a diversification \r\n strategy to increase the likelihood to reach a test target. Using a \r\n search heuristic to reach all test targets at the same time, we \r\n implement our approach in a tool, JTExpert, that we evaluate on more \r\n than a hundred Java classes from different open-source libraries. \r\n JTExpert gives better results in terms of search time and code \r\n coverage than the state of the art, EvoSuite, which uses traditional \r\n techniques.}\r\n}\r\n\r\n","author_short":["Sakti, A.","Pesant, G.","Gu�h�neuc, Y."],"editor_short":["Dwyer, M. B."],"key":"Sakti14-TSE-JTExpert","id":"Sakti14-TSE-JTExpert","bibbaseid":"sakti-pesant-guhneuc-instancegeneratorandproblemrepresentationtoimproveobjectorientedcodecoverage-2014","role":"author","urls":{"Paper":"http://www.ptidej.net/publications/documents/TSE14b.doc.pdf"},"keyword":["Topic: <b>Test case generation</b>","Venue: <b>TSE</b>"],"metadata":{"authorlinks":{"gu�h�neuc, y":"https://bibbase.org/show?bib=http%3A%2F%2Fwww.yann-gael.gueheneuc.net%2FWork%2FPublications%2FBiblio%2Fcomplete-bibliography.bib&msg=embed","guéhéneuc, y":"https://bibbase.org/show?bib=http://www.yann-gael.gueheneuc.net/Work/BibBase/guehene%20(automatically%20cleaned).bib"}},"downloads":0},"search_terms":["instance","generator","problem","representation","improve","object","oriented","code","coverage","sakti","pesant","gu�h�neuc"],"keywords":["topic: <b>test case generation</b>","venue: <b>tse</b>"],"authorIDs":["AfJhKcg96muyPdu7S","xkviMnkrGBneANvMr"],"dataSources":["Sed98LbBeGaXxenrM","8vn5MSGYWB4fAx9Z4"]}