Supporting Software Development Tools with An Awareness of Transparent Program Transformations

dc.contributor.authorSong, Myoungkyuen
dc.contributor.committeechairTilevich, Elien
dc.contributor.committeememberRyder, Barbara G.en
dc.contributor.committeememberFisher, Marcen
dc.contributor.departmentComputer Scienceen
dc.date.accessioned2017-06-13T19:44:14Zen
dc.date.adate2013-06-13en
dc.date.available2017-06-13T19:44:14Zen
dc.date.issued2013-03-05en
dc.date.rdate2014-06-09en
dc.date.sdate2013-06-01en
dc.description.abstractPrograms written in managed languages are compiled to a platform-independent intermediate representation, such as Java bytecode. The relative high level of Java bytecode has engendered a widespread practice of changing the bytecode directly, without modifying the maintained version of the source code. This practice, called bytecode engineering or enhancement, has become indispensable in transparently introducing various concerns, including persistence, distribution, and security. For example, transparent persistence architectures help avoid the entanglement of business and persistence logic in the source code by changing the bytecode directly to synchronize objects with stable storage. With functionality added directly at the bytecode level, the source code reflects only partial semantics of the program. Specifically, the programmer can neither ascertain the program's runtime behavior by browsing its source code, nor map the runtime behavior back to the original source code. This research presents an approach that improves the utility of source-level programming tools by providing enhancement specifications written in a domain-specific language. By interpreting the specifications, a source-level programming tool can gain an awareness of the bytecode enhancements and improve its precision and usability. We demonstrate the applicability of our approach by making a source code editor and a symbolic debugger enhancements-aware.en
dc.description.degreeMaster of Scienceen
dc.identifier.otheretd-06012013-003748en
dc.identifier.sourceurlhttp://scholar.lib.vt.edu/theses/available/etd-06012013-003748/en
dc.identifier.urihttp://hdl.handle.net/10919/78140en
dc.language.isoen_USen
dc.publisherVirginia Techen
dc.rightsIn Copyrighten
dc.rights.urihttp://rightsstatements.org/vocab/InC/1.0/en
dc.subjectenhancementen
dc.subjectprogram transformationen
dc.subjectdomain-specific languagesen
dc.subjectbytecode engineeringen
dc.subjectdebuggingen
dc.titleSupporting Software Development Tools with An Awareness of Transparent Program Transformationsen
dc.typeThesisen
dc.type.dcmitypeTexten
thesis.degree.disciplineComputer Scienceen
thesis.degree.grantorVirginia Polytechnic Institute and State Universityen
thesis.degree.levelmastersen
thesis.degree.nameMaster of Scienceen

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
etd-06012013-003748_Song_M_T_2013.pdf
Size:
799.11 KB
Format:
Adobe Portable Document Format

Collections