Automated Adaptive Software Maintenance: A Methodology and Its Applications

dc.contributor.authorTansey, Wesleyen
dc.contributor.committeechairTilevich, Elien
dc.contributor.committeememberRibbens, Calvin J.en
dc.contributor.committeememberBack, Godmar V.en
dc.contributor.departmentComputer Scienceen
dc.date.accessioned2014-03-14T20:38:48Zen
dc.date.adate2008-08-11en
dc.date.available2014-03-14T20:38:48Zen
dc.date.issued2008-05-22en
dc.date.rdate2008-08-11en
dc.date.sdate2008-05-27en
dc.description.abstractIn modern software development, maintenance accounts for the majority of the total cost and effort in a software project. Especially burdensome are those tasks which require applying a new technology in order to adapt an application to changed requirements or a different environment. This research explores methodologies, techniques, and approaches for automating such adaptive maintenance tasks. By combining high-level specifications and generative techniques, a new methodology shapes the design of approaches to automating adaptive maintenance tasks in the application domains of high performance computing (HPC) and enterprise software. Despite the vast differences of these domains and their respective requirements, each approach is shown to be effective at alleviating their adaptive maintenance burden. This thesis proves that it is possible to effectively automate tedious and error-prone adaptive maintenance tasks in a diverse set of domains by exploiting high-level specifications to synthesize specialized low-level code. The specific contributions of this thesis are as follows: (1) a common methodology for designing automated approaches to adaptive maintenance, (2) a novel approach to automating the generation of efficient marshaling logic for HPC applications from a high-level visual model, and (3) a novel approach to automatically upgrading legacy enterprise applications to use annotation-based frameworks. The technical contributions of this thesis have been realized in two software tools for automated adaptive maintenance: MPI Serializer, a marshaling logic generator for MPI applications, and Rosemari, an inference and transformation engine for upgrading enterprise applications. This thesis is based on research papers accepted to IPDPS '08 and OOPSLA '08.en
dc.description.degreeMaster of Scienceen
dc.identifier.otheretd-05272008-161318en
dc.identifier.sourceurlhttp://scholar.lib.vt.edu/theses/available/etd-05272008-161318/en
dc.identifier.urihttp://hdl.handle.net/10919/33292en
dc.publisherVirginia Techen
dc.relation.haspartthesis.pdfen
dc.rightsIn Copyrighten
dc.rights.urihttp://rightsstatements.org/vocab/InC/1.0/en
dc.subjectAdaptive Maintenanceen
dc.subjectSoftware Maintenanceen
dc.subjectUpgradingen
dc.subjectMarshalingen
dc.subjectHPCen
dc.subjectProgram Synthesisen
dc.subjectFrameworksen
dc.subjectMetadataen
dc.titleAutomated Adaptive Software Maintenance: A Methodology and Its Applicationsen
dc.typeThesisen
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:
thesis.pdf
Size:
728.66 KB
Format:
Adobe Portable Document Format

Collections