{"id":{"repo_id":"iupui","oai_identifier":"oai:scholarworks.indianapolis.iu.edu:1805/3775"},"canonical_url":"https://search.dev.ndltd.org/etd/iupui/oai:scholarworks.indianapolis.iu.edu:1805/3775","repository":{"repo_id":"iupui","name":"IUPUI","base_url":"https://scholarworks.indianapolis.iu.edu/server/oai/request"},"display":{"title":"Characterizing software components using evolutionary testing and path-guided analysis","abstract":"Evolutionary testing (ET) techniques (e.g., mutation, crossover, and natural selection) have been applied successfully to many areas of software engineering, such as error/fault identification, data mining, and software cost estimation. Previous research has also applied ET techniques to performance testing. Its application to performance testing, however, only goes as far as finding the best and worst case, execution times. Although such performance testing is beneficial, it provides little insight into performance characteristics of complex functions with multiple branches. This thesis therefore provides two contributions towards performance testing of software systems. First, this thesis demonstrates how ET and genetic algorithms (GAs), which are search heuristic mechanisms for solving optimization problems using mutation, crossover, and natural selection, can be combined with a constraint solver to target specific paths in the software. Secondly, this thesis demonstrates how such an approach can identify local minima and maxima execution times, which can provide a more detailed characterization of software performance. The results from applying our approach to example software applications show that it is able to characterize different execution paths in relatively short amounts of time. This thesis also examines a modified exhaustive approach which can be plugged in when the constraint solver cannot properly provide the information needed to target specific paths.","abstract_html":"Evolutionary testing (ET) techniques (e.g., mutation, crossover, and natural selection) have been applied successfully to many areas of software engineering, such as error/fault identification, data mining, and software cost estimation. Previous research has also applied ET techniques to performance testing. Its application to performance testing, however, only goes as far as finding the best and worst case, execution times. Although such performance testing is beneficial, it provides little insight into performance characteristics of complex functions with multiple branches. This thesis therefore provides two contributions towards performance testing of software systems. First, this thesis demonstrates how ET and genetic algorithms (GAs), which are search heuristic mechanisms for solving optimization problems using mutation, crossover, and natural selection, can be combined with a constraint solver to target specific paths in the software. Secondly, this thesis demonstrates how such an approach can identify local minima and maxima execution times, which can provide a more detailed characterization of software performance. The results from applying our approach to example software applications show that it is able to characterize different execution paths in relatively short amounts of time. This thesis also examines a modified exhaustive approach which can be plugged in when the constraint solver cannot properly provide the information needed to target specific paths.","abstract_has_math":false,"creators":["McNeany, Scott Edward"],"institution":null,"degree_name":null,"degree_level":null,"degree_discipline":null,"degree_department":null,"school":null,"contributors":[],"advisors":["Hill, James H. (James Haswell)"],"committee_chairs":[],"committee_members":[],"year":2013,"date_issued":"2013-12-16","date_published":"2013-12-16","updated_at":"2026-07-24T02:40:24Z","subjects":["path guided software performance testing","evolutionary testing","software performance characterization","genetic algorithms"],"languages":["en_US"],"rights":[],"rights_urls":[],"identifier_entries":[{"key":"dc:identifier.uri","label":"Identifier URI","values":["http://dx.doi.org/10.7912/C2/2308"],"render_values":[{"text":"http://dx.doi.org/10.7912/C2/2308","href":"http://dx.doi.org/10.7912/C2/2308","code":true}]}]},"links":{"outbound_url":"https://hdl.handle.net/1805/3775","outbound_label":"Handle","outbound_source":"dc:identifier.uri"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor.advisor","label":"Advisor","values":["Hill, James H. (James Haswell)"]},{"key":"dc:contributor.other","label":"Dc Contributor Other","values":["Raje, Rajeev","Al Hasan, Mohammad","Fang, Shiaofen"]},{"key":"dc:creator","label":"Author","values":["McNeany, Scott Edward"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date.accessioned","label":"Dc Date Accessioned","values":["2013-12-16T16:07:47Z"]},{"key":"dc:date.available","label":"Dc Date Available","values":["2013-12-16T16:07:47Z"]},{"key":"dc:date.issued","label":"Date","values":["2013-12-16"]},{"key":"dc:type","label":"Dc Type","values":["Thesis"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["path guided software performance testing","evolutionary testing","software performance characterization","genetic algorithms"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language.iso","label":"Language (ISO)","values":["en_US"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier.uri","label":"Identifier URI","values":["https://hdl.handle.net/1805/3775","http://dx.doi.org/10.7912/C2/2308"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["Indiana University-Purdue University Indianapolis (IUPUI)"]},{"key":"dc:description.abstract","label":"Abstract","values":["Evolutionary testing (ET) techniques (e.g., mutation, crossover, and natural selection) have been applied successfully to many areas of software engineering, such as error/fault identification, data mining, and software cost estimation. Previous research has also applied ET techniques to performance testing. Its application to performance testing, however, only goes as far as finding the best and worst case, execution times. Although such performance testing is beneficial, it provides little insight into performance characteristics of complex functions with multiple branches. This thesis therefore provides two contributions towards performance testing of software systems. First, this thesis demonstrates how ET and genetic algorithms (GAs), which are search heuristic mechanisms for solving optimization problems using mutation, crossover, and natural selection, can be combined with a constraint solver to target specific paths in the software. Secondly, this thesis demonstrates how such an approach can identify local minima and maxima execution times, which can provide a more detailed characterization of software performance. The results from applying our approach to example software applications show that it is able to characterize different execution paths in relatively short amounts of time. This thesis also examines a modified exhaustive approach which can be plugged in when the constraint solver cannot properly provide the information needed to target specific paths."]},{"key":"dc:title","label":"Title","values":["Characterizing software components using evolutionary testing and path-guided analysis"]}]}],"canonical_facts":{"dc:contributor.advisor":["Hill, James H. (James Haswell)"],"dc:contributor.other":["Raje, Rajeev","Al Hasan, Mohammad","Fang, Shiaofen"],"dc:creator":["McNeany, Scott Edward"],"dc:date.accessioned":["2013-12-16T16:07:47Z"],"dc:date.available":["2013-12-16T16:07:47Z"],"dc:date.issued":["2013-12-16"],"dc:description":["Indiana University-Purdue University Indianapolis (IUPUI)"],"dc:description.abstract":["Evolutionary testing (ET) techniques (e.g., mutation, crossover, and natural selection) have been applied successfully to many areas of software engineering, such as error/fault identification, data mining, and software cost estimation. Previous research has also applied ET techniques to performance testing. Its application to performance testing, however, only goes as far as finding the best and worst case, execution times. Although such performance testing is beneficial, it provides little insight into performance characteristics of complex functions with multiple branches. This thesis therefore provides two contributions towards performance testing of software systems. First, this thesis demonstrates how ET and genetic algorithms (GAs), which are search heuristic mechanisms for solving optimization problems using mutation, crossover, and natural selection, can be combined with a constraint solver to target specific paths in the software. Secondly, this thesis demonstrates how such an approach can identify local minima and maxima execution times, which can provide a more detailed characterization of software performance. The results from applying our approach to example software applications show that it is able to characterize different execution paths in relatively short amounts of time. This thesis also examines a modified exhaustive approach which can be plugged in when the constraint solver cannot properly provide the information needed to target specific paths."],"dc:identifier.uri":["https://hdl.handle.net/1805/3775","http://dx.doi.org/10.7912/C2/2308"],"dc:language.iso":["en_US"],"dc:subject":["path guided software performance testing","evolutionary testing","software performance characterization","genetic algorithms"],"dc:title":["Characterizing software components using evolutionary testing and path-guided analysis"],"dc:type":["Thesis"]},"updated_at":"2026-07-24T02:40:24Z"}