{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/99389"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/99389","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"Trace-weighted binary comparison for software update management","abstract":"As software systems grow in complexity, they become diﬃcult to manage. This applies to both developers, who must maintain the code, and users, who must decide when to accept updates. A software patch intended to ﬁx one error may introduce a new problem in a more important part of the executable. This can be diﬃcult to predict even when source code is available, which is often not the case. To help simplify this decision, we introduce a technique to estimate the impact of a software patch, based on how the software has been used in the past. We analyze programs for which we have source code to check the results, but our approach is intended to be useful even when there is no source code available. By analyzing a large number of related programs, which tend to share a substantial amount of code, we show that adding execution traces to the static binary analysis creates much more informative results than binary diﬃng alone.","abstract_html":"As software systems grow in complexity, they become diﬃcult to manage. This applies to both developers, who must maintain the code, and users, who must decide when to accept updates. A software patch intended to ﬁx one error may introduce a new problem in a more important part of the executable. This can be diﬃcult to predict even when source code is available, which is often not the case. To help simplify this decision, we introduce a technique to estimate the impact of a software patch, based on how the software has been used in the past. We analyze programs for which we have source code to check the results, but our approach is intended to be useful even when there is no source code available. By analyzing a large number of related programs, which tend to share a substantial amount of code, we show that adding execution traces to the static binary analysis creates much more informative results than binary diﬃng alone.","abstract_has_math":false,"creators":["Latimer, Mika"],"institution":"University of Illinois at Urbana-Champaign","degree_name":"M.S.","degree_level":"Thesis","degree_discipline":"Electrical & Computer Engr","degree_department":null,"school":null,"contributors":["Bailey, Michael D"],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2018,"date_issued":"2018-03-13T15:49:05Z","date_published":"2018-03-13T15:49:05Z","updated_at":"2026-07-22T22:24:37Z","subjects":["Binary diffing","Executable binary analysis","Binary code matching","Code similarity","Execution tracing","Branch Trace Store (BTS)","Control flow","Code coverage","Software patching"],"languages":["en"],"rights":["Copyright 2017 Mika Latimer"],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"http://hdl.handle.net/2142/99389","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Bailey, Michael D"]},{"key":"dc:creator","label":"Author","values":["Latimer, Mika"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2018-03-13T15:49:05Z","2017-12-11","2017-12"]},{"key":"dc:type","label":"Dc Type","values":["text"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Electrical & Computer Engr"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Thesis"]},{"key":"thesis:degree_name","label":"Degree Name","values":["M.S."]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["University of Illinois at Urbana-Champaign"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Binary diffing","Executable binary analysis","Binary code matching","Code similarity","Execution tracing","Branch Trace Store (BTS)","Control flow","Code coverage","Software patching"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["en"]},{"key":"dc:rights","label":"Dc Rights","values":["Copyright 2017 Mika Latimer"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["http://hdl.handle.net/2142/99389"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["As software systems grow in complexity, they become diﬃcult to manage. This applies to both developers, who must maintain the code, and users, who must decide when to accept updates. A software patch intended to ﬁx one error may introduce a new problem in a more important part of the executable. This can be diﬃcult to predict even when source code is available, which is often not the case. To help simplify this decision, we introduce a technique to estimate the impact of a software patch, based on how the software has been used in the past. We analyze programs for which we have source code to check the results, but our approach is intended to be useful even when there is no source code available. By analyzing a large number of related programs, which tend to share a substantial amount of code, we show that adding execution traces to the static binary analysis creates much more informative results than binary diﬃng alone.","Submission original under an indefinite embargo labeled 'Open Access'. The submission was exported from vireo on 2018-03-13 without embargo terms","The student, Mika Latimer, accepted the attached license on 2017-12-07 at 09:25.","The student, Mika Latimer, submitted this Thesis for approval on 2017-12-09 at 17:49.","This Thesis was approved for publication on 2017-12-11 at 08:20.","DSpace SAF Submission Ingestion Package generated from Vireo submission #11895 on 2018-03-13 at 10:11:25","Made available in DSpace on 2018-03-13T15:49:05Z (GMT). No. of bitstreams: 2 LATIMER-THESIS-2017.pdf: 752677 bytes, checksum: b8b560a8765dc8af53756900edeb9286 (MD5) LICENSE.txt: 4209 bytes, checksum: e5a1cc9b29287d3cf185704de91d8c1f (MD5) Previous issue date: 2017-12-11"]},{"key":"dc:format","label":"Dc Format","values":["application/pdf"]},{"key":"dc:title","label":"Title","values":["Trace-weighted binary comparison for software update management"]}]}],"canonical_facts":{"dc:contributor":["Bailey, Michael D"],"dc:creator":["Latimer, Mika"],"dc:date":["2018-03-13T15:49:05Z","2017-12-11","2017-12"],"dc:description":["As software systems grow in complexity, they become diﬃcult to manage. This applies to both developers, who must maintain the code, and users, who must decide when to accept updates. A software patch intended to ﬁx one error may introduce a new problem in a more important part of the executable. This can be diﬃcult to predict even when source code is available, which is often not the case. To help simplify this decision, we introduce a technique to estimate the impact of a software patch, based on how the software has been used in the past. We analyze programs for which we have source code to check the results, but our approach is intended to be useful even when there is no source code available. By analyzing a large number of related programs, which tend to share a substantial amount of code, we show that adding execution traces to the static binary analysis creates much more informative results than binary diﬃng alone.","Submission original under an indefinite embargo labeled 'Open Access'. The submission was exported from vireo on 2018-03-13 without embargo terms","The student, Mika Latimer, accepted the attached license on 2017-12-07 at 09:25.","The student, Mika Latimer, submitted this Thesis for approval on 2017-12-09 at 17:49.","This Thesis was approved for publication on 2017-12-11 at 08:20.","DSpace SAF Submission Ingestion Package generated from Vireo submission #11895 on 2018-03-13 at 10:11:25","Made available in DSpace on 2018-03-13T15:49:05Z (GMT). No. of bitstreams: 2 LATIMER-THESIS-2017.pdf: 752677 bytes, checksum: b8b560a8765dc8af53756900edeb9286 (MD5) LICENSE.txt: 4209 bytes, checksum: e5a1cc9b29287d3cf185704de91d8c1f (MD5) Previous issue date: 2017-12-11"],"dc:format":["application/pdf"],"dc:identifier":["http://hdl.handle.net/2142/99389"],"dc:language":["en"],"dc:rights":["Copyright 2017 Mika Latimer"],"dc:subject":["Binary diffing","Executable binary analysis","Binary code matching","Code similarity","Execution tracing","Branch Trace Store (BTS)","Control flow","Code coverage","Software patching"],"dc:title":["Trace-weighted binary comparison for software update management"],"dc:type":["text"],"thesis:degree_discipline":["Electrical & Computer Engr"],"thesis:degree_level":["Thesis"],"thesis:degree_name":["M.S."],"thesis:institution_name":["University of Illinois at Urbana-Champaign"]},"updated_at":"2026-07-22T22:24:37Z"}