Master’s Project Presentation

Monday, April 18th, 2016 at 12:00 PM in Rice 242

Benjamin Floyd

Advisor & Committee Chair: Westley Weimer

Committee Members: Baishakhi Ray

Title: N-Prog: A Framework for Proactive Coarse-Grained Diversity

Software diversity contributes to the resilience of program deployments, protecting against both unanticipated changes in the environment and targeted attacks. This idea, known as N-variant systems, allows executing software systems to detect and protect against certain classes of attacks by, for example, randomizing memory layouts. N-variant systems execute multiple versions of a program in parallel, using a monitor to check whether the outputs of the different versions ever diverge. Earlier N-variant efforts require semantics-preserving transformations, and thus cannot protect against logical errors in the original program.

We present N-Prog, an extension of this approach, which generates coarse-grained transformations of source code, including those that are small semantic variants of the original program. N-Prog uses two mutation operators to produce candidate transformations, evaluates each mutated program separately, and then combines them in clusters to increase the diversity of each variant. The resulting set of n program variants detects defects both in the original program and in its test suite. We evaluate N-Prog on 1,141 defect scenarios from 16 benchmark programs totaling over 1.5 million lines of code and guarded by over 30,000 tests, finding that N-Prog detects 887 (77%) of these program defects.

Student Defenses Student News

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s