Back to results

University of Illinois at Urbana-Champaign

Detecting and Combining Programming Patterns

Abstract

dc:description

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.

Degree

thesis:*
Name thesis:degree_name
Ph.D.
Level thesis:degree_level
Dissertation
Discipline thesis:degree_discipline
Computer Science
Grantor
University of Illinois at Urbana-Champaign
Year dc:date
2011

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • Cozzie, Anthony E.
Contributors dc:contributor
  • King, Samuel T.
  • Arpaci-Dusseau, Remzi
  • Amir, Eyal
  • Adve, Vikram S.
  • Marinov, Darko

Subjects

dc:subject × 3

Rights

dc:rights
Statement dc:rights
  • Copyright 2010 Anthony Cozzie
Language dc:language
en

Identifiers

dc:identifier.*
Handle dc:identifier
http://hdl.handle.net/2142/24358
OAI identifier oai:identifier
oai:www.ideals.illinois.edu:2142/24358

Chain of custody

source
Harvested from
University of Illinois - Urbana-Champaign
Base URL
www.ideals.illinois.edu/oai-pmh
Last updated
2026-07-22
Source record
OAI-PMH GetRecord
citation

Cozzie, Anthony E.. Detecting and Combining Programming Patterns. Dissertation thesis, University of Illinois at Urbana-Champaign, 2011. http://hdl.handle.net/2142/24358