Return to search

Assembly Language Representation and Graph Generation in a Pure Functional Programming Language

<p>In industry many legacy systems exist which run mission or safety critical code which do not have adequate requirements documentation. This thesis demonstrates how the use of a functional programming language eases a flexible and modular approach to the construction of libraries and tool suites that allow the manipulation of assembly language programs. The tools and libraries created with this method are used in a larger project of reverse engineering requirements from legacy assembly programs.</p> <p>The modules presented operate from the assembled ".lst" format, which is the result of assembling the source files, and includes the calculated address in memory and the binary version of the given instructions. Our libraries provide representations of assembly programs in an abstract data type and as internal graph representations, and conversions to a GXL graph format and to other special-purpose XML representations.</p> <p>The use of Haskell as an implementation language is explored in the context of a software engineering project, and some of the benefits and disadvantages of such a choice are discussed. This work was funded by Ontario Power Generation and CITO (Communications and Information Technology Ontario).</p> / Master of Science (MSc)

Identiferoai:union.ndltd.org:mcmaster.ca/oai:macsphere.mcmaster.ca:11375/13083
Date13 January 2005
CreatorsEverets, Kevin
ContributorsKahl, Wolfram, Computing and Software
Source SetsMcMaster University
Detected LanguageEnglish
Typethesis

Page generated in 0.002 seconds