The University of Arizona
banner image

Nithya Krishnamoorthy

Master's student
Office: Gould-Simpson 749


I am pursuing my Master's in Computer Science at the University of Arizona. My faculty advisor is Dr.Saumya Debray. I am a part of the Lynx group and I am working on statically identifying disassembly errors using a machine learning approach. I graduate in May 2010.

I interned at Google during the summer of 2009 and worked in their Corporate Engineering Team.

Prior to starting my Master's I worked in Keane as a Software Engineer from 2005 to 2008.

Prior to which, I did my Bachelor's in Computer Science and Engineering in Crescent Engineering College, Chennai, India. Under the guidance of Dr.Ramanujam from the Institute of Mathematical Sciences, Chennai, I completed my final year project, an implementation of Learning in Information Retrieval Systems using a Relevance Feedback mechanism.


In the Intel IA-32 architecture, it is not easy to determine whether a disassembly is correct. This is because of the variable instruction length and their high encoding density. Since the disassembly process is the first step in the reverse engineering of binaries, it is crucial that the disassembly is right for any analysis that are based on this.

Our work is based on the observation that many incorrect disassemblies look "weird" - they have telltale signs that something is wrong. We are trying to pick the right encoding for the disassembly, so that a decision tree can identify the errors automatically.


Static Detection of Disassembly Errors, with Saumya Debray and Keith Fligg.
Proc. 16th. IEEE Working Conference on Reverse Engineering, October 2009, pp. 259-268. PDF