{"id":{"repo_id":"mit","oai_identifier":"oai:dspace.mit.edu:1721.1/61250"},"canonical_url":"https://search.dev.ndltd.org/etd/mit/oai:dspace.mit.edu:1721.1/61250","repository":{"repo_id":"mit","name":"MIT","base_url":"https://dspace.mit.edu/oai/request"},"display":{"title":"An improved scalable mixed-level approach to dynamic analysis of C and C++ programs","abstract":"In this thesis, I address the challenges of developing tools which use a mixed-level approach to dynamic binary analysis. The mixed-level approach combines advantages of both source- based and binary-based approaches to dynamic analysis, but comes with the added challenge of dealing with the implementation details of a specific implementation of the target language. This thesis describes the implementation of three existing tools which use the mixed-level approach: Fjalar, a C/C++ dynamic analysis framework, Kvasir, A C/C++ value profiling tool, and Dyncomp, a tool for inferring the abstract types of a C or C++ program. Additionally, this thesis describes the steps I took in increasing the maintainability and portability of these tools. I investigated and documented platform specific dependencies; I documented the process of merging in upstream changes of Valgrind, the Dynamic Binary Instrumenter Fjalar is built on, to aid Fjalar in keeping in-sync with Valgrind bug-fixes; and I implemented a tool for debugging Dyncomp errors.","abstract_html":"In this thesis, I address the challenges of developing tools which use a mixed-level approach to dynamic binary analysis. The mixed-level approach combines advantages of both source- based and binary-based approaches to dynamic analysis, but comes with the added challenge of dealing with the implementation details of a specific implementation of the target language. This thesis describes the implementation of three existing tools which use the mixed-level approach: Fjalar, a C/C++ dynamic analysis framework, Kvasir, A C/C++ value profiling tool, and Dyncomp, a tool for inferring the abstract types of a C or C++ program. Additionally, this thesis describes the steps I took in increasing the maintainability and portability of these tools. I investigated and documented platform specific dependencies; I documented the process of merging in upstream changes of Valgrind, the Dynamic Binary Instrumenter Fjalar is built on, to aid Fjalar in keeping in-sync with Valgrind bug-fixes; and I implemented a tool for debugging Dyncomp errors.","abstract_has_math":false,"creators":["Rudd, Robert Andrew, M. Eng. Massachusetts Institute of Technology"],"institution":"Massachusetts Institute of Technology","degree_name":null,"degree_level":null,"degree_discipline":null,"degree_department":"Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science.","school":null,"contributors":[],"advisors":["Michael D. Ernst."],"committee_chairs":[],"committee_members":[],"year":2010,"date_issued":"2010","date_published":"2010","updated_at":"2026-07-22T22:21:22Z","subjects":["Electrical Engineering and Computer Science."],"languages":["eng"],"rights":["M.I.T. theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. See provided URL for inquiries about permission."],"rights_urls":["http://dspace.mit.edu/handle/1721.1/7582"],"identifier_entries":[]},"links":{"outbound_url":"http://hdl.handle.net/1721.1/61250","outbound_label":"Handle","outbound_source":"dc:identifier.uri"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor.advisor","label":"Advisor","values":["Michael D. Ernst."]},{"key":"dc:contributor.department","label":"Department","values":["Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science."]},{"key":"dc:contributor.other","label":"Dc Contributor Other","values":["Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science."]},{"key":"dc:creator","label":"Author","values":["Rudd, Robert Andrew, M. Eng. Massachusetts Institute of Technology"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date.accessioned","label":"Dc Date Accessioned","values":["2011-02-23T14:36:28Z"]},{"key":"dc:date.available","label":"Dc Date Available","values":["2011-02-23T14:36:28Z"]},{"key":"dc:date.issued","label":"Date","values":["2010"]},{"key":"dc:publisher","label":"Institution","values":["Massachusetts Institute of Technology"]},{"key":"dc:type","label":"Dc Type","values":["Thesis"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Electrical Engineering and Computer Science."]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language.iso","label":"Language (ISO)","values":["eng"]},{"key":"dc:rights","label":"Dc Rights","values":["M.I.T. theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. See provided URL for inquiries about permission."]},{"key":"dc:rights.uri","label":"Rights URI","values":["http://dspace.mit.edu/handle/1721.1/7582"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier.uri","label":"Identifier URI","values":["http://hdl.handle.net/1721.1/61250"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2010.","Cataloged from PDF version of thesis.","Includes bibliographical references (p. 85-86)."]},{"key":"dc:description.abstract","label":"Abstract","values":["In this thesis, I address the challenges of developing tools which use a mixed-level approach to dynamic binary analysis. The mixed-level approach combines advantages of both source- based and binary-based approaches to dynamic analysis, but comes with the added challenge of dealing with the implementation details of a specific implementation of the target language. This thesis describes the implementation of three existing tools which use the mixed-level approach: Fjalar, a C/C++ dynamic analysis framework, Kvasir, A C/C++ value profiling tool, and Dyncomp, a tool for inferring the abstract types of a C or C++ program. Additionally, this thesis describes the steps I took in increasing the maintainability and portability of these tools. I investigated and documented platform specific dependencies; I documented the process of merging in upstream changes of Valgrind, the Dynamic Binary Instrumenter Fjalar is built on, to aid Fjalar in keeping in-sync with Valgrind bug-fixes; and I implemented a tool for debugging Dyncomp errors."]},{"key":"dc:description.degree","label":"Dc Description Degree","values":["M.Eng."]},{"key":"dc:title","label":"Title","values":["An improved scalable mixed-level approach to dynamic analysis of C and C++ programs"]}]}],"canonical_facts":{"dc:contributor.advisor":["Michael D. Ernst."],"dc:contributor.department":["Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science."],"dc:contributor.other":["Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science."],"dc:creator":["Rudd, Robert Andrew, M. Eng. Massachusetts Institute of Technology"],"dc:date.accessioned":["2011-02-23T14:36:28Z"],"dc:date.available":["2011-02-23T14:36:28Z"],"dc:date.issued":["2010"],"dc:description":["Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2010.","Cataloged from PDF version of thesis.","Includes bibliographical references (p. 85-86)."],"dc:description.abstract":["In this thesis, I address the challenges of developing tools which use a mixed-level approach to dynamic binary analysis. The mixed-level approach combines advantages of both source- based and binary-based approaches to dynamic analysis, but comes with the added challenge of dealing with the implementation details of a specific implementation of the target language. This thesis describes the implementation of three existing tools which use the mixed-level approach: Fjalar, a C/C++ dynamic analysis framework, Kvasir, A C/C++ value profiling tool, and Dyncomp, a tool for inferring the abstract types of a C or C++ program. Additionally, this thesis describes the steps I took in increasing the maintainability and portability of these tools. I investigated and documented platform specific dependencies; I documented the process of merging in upstream changes of Valgrind, the Dynamic Binary Instrumenter Fjalar is built on, to aid Fjalar in keeping in-sync with Valgrind bug-fixes; and I implemented a tool for debugging Dyncomp errors."],"dc:description.degree":["M.Eng."],"dc:identifier.uri":["http://hdl.handle.net/1721.1/61250"],"dc:language.iso":["eng"],"dc:publisher":["Massachusetts Institute of Technology"],"dc:rights":["M.I.T. theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. See provided URL for inquiries about permission."],"dc:rights.uri":["http://dspace.mit.edu/handle/1721.1/7582"],"dc:subject":["Electrical Engineering and Computer Science."],"dc:title":["An improved scalable mixed-level approach to dynamic analysis of C and C++ programs"],"dc:type":["Thesis"]},"updated_at":"2026-07-22T22:21:22Z"}