Publication Date


Document Type


Committee Members

Adam Bryant (Advisor), Michelle Cheatham (Committee Member), Mateen Rizki (Committee Member)

Degree Name

Master of Science (MS)


The purpose of this research is to help the beginners of software reverse engineering, the process of extracting knowledge or design information from a product and reproducing it on basis of extracted information. Beginner users often find it difficult to use, as the task may be found daunting at first sight due to a lack of existing learning resources. We need a better way to present information to the novice reverse engineer about how to understand low-level sequences of assembly instructions. This is akin to how the key to learning a foreign language is based upon a fundamental knowledge of the word sequences (grammar). With this in mind, a web model named WATSRE (web-delivered assembly language training for software reverse engineers) is developed to analyze the common patterns of sequences in assembly language. The term assembly language is referred as the low-level programming language for a computer, or microprocessors and other programmable devices. One of the prime reasons to inquire assembly language is that the executable files from the debugger are all in binary instruction format. Moreover, common sequences are identified from the executable files of real world C programs. These sequences identified are translated into meaningful words, which will then be useful for beginners as it is easy to memorize it. Such features developed in this program will assist a beginner in understanding and comprehending these instructions easily. In addition to this, we focus on the working of assembly instructions and their effect on memory and registers. Hence, the finding of this research will be useful in helping the software reverse engineers and people related to this field.

Page Count


Department or Program

Department of Computer Science and Engineering

Year Degree Awarded