Skip navigation
  • Home
  • Browse
    • Communities
      & Collections
    • Browse Items by:
    • Publication Date
    • Author
    • Title
    • Subject
    • Department
  • Sign on to:
    • My MacSphere
    • Receive email
      updates
    • Edit Profile


McMaster University Home Page
  1. MacSphere
  2. Open Access Dissertations and Theses Community
  3. Digitized Open Access Dissertations and Theses
Please use this identifier to cite or link to this item: http://hdl.handle.net/11375/21347
Full metadata record
DC FieldValueLanguage
dc.contributor.advisorCarette, Jacques-
dc.contributor.advisorWassyng, Alan-
dc.contributor.authorDragon, Olivier Étienne-
dc.date.accessioned2017-05-03T16:09:18Z-
dc.date.available2017-05-03T16:09:18Z-
dc.date.issued2006-07-25-
dc.identifier.urihttp://hdl.handle.net/11375/21347-
dc.description.abstract<p> In this day and age, many companies struggle with the maintenance of legacy scientific software systems written in outdated programming languages. These languages use low-level control structures, algorithmic operations and cumbersome syntax that make the true meaning of an algorithm difficult to understand. To make matters worse, the process of reverse engineering the algorithm to specification often involves a considerable amount of manual work which is error-prone and time-consuming.</p> <p> This thesis explores a completely automated method of reverse engineering. We apply this method to FORTRAN77 linear algebra software. This software is transformed to an extension of FORTRAN77, which we call Fortran-M. This language allows for high-level mathematical constructs such as sums, products and vector and matrix operations. To serve as a proof-of-concept for this method, we have developed a tool which uses a combination of pattern matching on the source code's abstract syntax tree to recognise low-level control structures, and symbolic analysis to determine the meaning of loops. Once a pattern has been recognised, or a loop's invariant found, we apply transformations to the syntax tree, thus creating a Fortran-M equivalent.</p>en_US
dc.language.isoen_USen_US
dc.subjectreverse engineering, scientific computation, FORTRAN code, programming languages, algorithmen_US
dc.titleReverse Engineering of Scientific Computation FORTRAN Codeen_US
dc.typeThesisen_US
dc.contributor.departmentComputing and Softwareen_US
dc.description.degreetypeThesisen_US
dc.description.degreeMaster of Applied Science (MASc)en_US
Appears in Collections:Digitized Open Access Dissertations and Theses

Files in This Item:
File Description SizeFormat 
Dragon_Olivier_E._2006Jul_Masters..pdf
Open Access
2.88 MBAdobe PDFView/Open
Show simple item record Statistics


Items in MacSphere are protected by copyright, with all rights reserved, unless otherwise indicated.

Sherman Centre for Digital Scholarship     McMaster University Libraries
©2022 McMaster University, 1280 Main Street West, Hamilton, Ontario L8S 4L8 | 905-525-9140 | Contact Us | Terms of Use & Privacy Policy | Feedback

Report Accessibility Issue