Nov. 30, 2007 — Joy Kamunyori, a third-year graduate student in the Computer Science Department at the University of Virginia's School of Engineering and Applied Science, won first place in the poster competition (graduate division) at the fourth Richard Tapia Celebration of Diversity in Computing Conference in October.
The conference, held in Orlando, Fla., drew more than 400 students, professors and researchers. It aimed to providing a supportive networking environment for underrepresented groups across the broad range of computing and information technology, from science to business to the arts to infrastructure.
Kamunyori's entry, "Handling Self-Modifying Code Using Software Dynamic Translation," is now automatically entered into the Association for Computing Machinery's Student Research Competition Grand Finals.
Working under the direction of Jack Davidson, professor of computer science, Kamunyori's research is focused on software dynamic translation and self-modifying codes as they relate to security issues.
Currently, computer programs run directly on computers in real time — a phenomenon called native execution. In the future, these programs will be exposed to software dynamic translation, a process by which the program’s instructions are optimized before they are executed.
The process will remain transparent for the user because the end effect — running the program — will not change. “It is like rewriting a sentence to make it clearer without changing the meaning,” explains Kamunyori.
“Signature-based virus-detection mechanisms have difficulty dealing with viruses that use self- modifying code,” she says. “Many viruses change their code with every generation so they are hard to detect. My hope is that this research will allow us to more easily detect viruses that self-modify.”
Self-modifying codes extend beyond viruses to program compilations as well. Usually, programs are compiled before they are run on a computer. “Just-in-time compilers,” however, self-modify as the program needs instruction during execution. According to Kamunyori, “Compilation happening on the fly is a form of self-modifying code that makes a computer run more efficiently, so it is important to understand this code and the translations that make it work.”
“The applications of this research have a myriad of benefits,” said Davidson. “These principles could help to dramatically improve computer security, optimize program execution so that it uses the least amount of memory and storage space and, eventually, increase the speed at which programs are run.”
Kamunyori was one of six students recognized at Tapia 2007, which was organized by the Coalition to Diversify Computing and co-sponsored by the Association for Computing Machinery and the IEEE Computer Society, in cooperation with the Computing Research Association.
“I was happy and surprised when I found out I had won,” says Kamunyori. “The award is validation that the research I’ve been doing is more than theoretical — it has practical applications that could make our current computing environment safer.”