Repository logo
 
Publication

Evolutionary unit-testing of third party object-oriented Java software

dc.contributor.authorRibeiro, José Carlos Bregieiro
dc.date.accessioned2009-08-19T13:37:17Z
dc.date.available2009-08-19T13:37:17Z
dc.date.issued2007
dc.descriptionDissertação apresentada à Universidad de Extremadura para obtenção do Diploma de Estudios Avanzados, orientada por Francisco Fernandéz de Vega.pt
dc.description.abstractEvolutionary Testing is an emerging methodology for automatically generating high quality test data. The focus of this work is on presenting a searchbased approach for the the unit-testing of third-party object-oriented Java software. Test cases are represented and evolved using the Strongly Typed Genetic Programming paradigm, which effectively mimics the inheritance and polymorphic properties of object-oriented programs and enables the maintenance of call dependences when applying tree construction, mutation or crossover. Our strategy for evaluating the quality of test cases includes instrumenting the test object for basic block analysis and structural event dispatch, and executing the instrumented test object using the generated test cases as “inputs” – in order to collect trace information and derive coverage metrics. Static analysis, instrumentation and execution tracing is performed solely with basis on the high-level information extracted from the Java Bytecode of the test object. Given that the test object’s source code is often unavailable, working at the Bytecode level allows broadening the scope of applicability of our approach; it can be used, for instance, to perform structural testing on third-party Java components. Test objects are represented internally by weighted control-flow graphs; strategies are introduced for favouring test cases that exercise problematic structures and difficult control-flow paths, which involve dynamic weight reevaluation. The aim is that of efficiently guiding the search process towards achieving full structural coverage – which often involves promoting the definition of complex and intricate test cases that define elaborate state scenarios. The work performed so far allowed us to develop the prototype of a test case generation tool, called eCrash. Experiments have been carried and quality solutions have been found, proving the pertinence of our methodology and encouraging further studies.pt
dc.identifier.urihttp://hdl.handle.net/10400.8/127
dc.language.isoengpt
dc.subjectEvolutionary testingpt
dc.subjectStrongly typed genetic programmingpt
dc.titleEvolutionary unit-testing of third party object-oriented Java softwarept
dc.typeother
dspace.entity.typePublication
person.familyNameRibeiro
person.givenNameJosé
person.identifier662638
person.identifier.ciencia-id0C1B-5E3F-6830
person.identifier.orcid0000-0003-3019-1330
person.identifier.scopus-author-id55947747200
rcaap.rightsopenAccess
rcaap.typeotherpt
relation.isAuthorOfPublication4ad743c6-5db7-4208-be72-c182c7b0f8ef
relation.isAuthorOfPublication.latestForDiscovery4ad743c6-5db7-4208-be72-c182c7b0f8ef

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
dea_jose.ribeiro_v1.0.pdf
Size:
1.77 MB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.79 KB
Format:
Item-specific license agreed upon to submission
Description: