Files in this item



application/pdfCozzie_Anthony.pdf (567kB)
(no description provided)PDF


Title:Detecting and Combining Programming Patterns
Author(s):Cozzie, Anthony E.
Director of Research:King, Samuel T.
Doctoral Committee Chair(s):King, Samuel T.
Doctoral Committee Member(s):Arpaci-Dusseau, Remzi; Amir, Eyal; Adve, Vikram S.; Marinov, Darko
Department / Program:Computer Science
Discipline:Computer Science
Degree Granting Institution:University of Illinois at Urbana-Champaign
Subject(s):data structures
programming patterns
Abstract:This thesis explores detecting patterns in the most general interface to computers: source and assembly program code. Because writing computer programs correctly is so difficult, there is a large assortment of software engineering techniques devoted to making this process easier and more efficient. Therefore, despite the huge space of possible programs, most programs written by humans will exhibit some of the same patterns. Project Laika detects the data structures used by guest programs using unsupervised Bayesian learning. Using these data structures, it can detect viruses with considerably better accuracy than ClamAV, a leading industry solution. Using high-level features makes Laika considerably more resistant to polymorphic worms, because it requires them to preserve their high-level structure through their polymorphic transformations. Project Macho generates Java programs from a combination of natural language, example inputs, and a database of Java code. Unlike past natural language programming systems, which were basically verbose versions of Visual Basic, Macho allows users to specify (small) programs in high-level language and use examples to fill in the details. We were able to generate satisfactory solutions for basic versions of several core utilities, including ls and grep, even when the natural language inputs were varied substantially.
Issue Date:2011-05-25
Rights Information:Copyright 2010 Anthony Cozzie
Date Available in IDEALS:2013-05-26
Date Deposited:2011-05

This item appears in the following Collection(s)

Item Statistics