Hydrogen is a framework used for analyzing software revision histories for such applications as verifying bug fixes and identifying changes that cause bugs. The framework uses a graph representation of multiple versions of a program in a software revision history called a multi-version interprocedural control flow graph (MVICFG). The MVICFG integrates the control flow for multiple versions of a program into a single graph and provides a convenient way to represent semantic (i.e. control flow) change in a program. The MVICFG can also reduce the storage demands for representing the control flow for multiple versions of a program. Hydrogen implements an algorithm that uses data mined from source code repositories to construct the MVICFG. The MVICFG is analyzed using demand driven analysis for patch verification in multiple releases of software.

Library of Congress Subject Headings

Computer software--Development--Data processing; Computer software--Quality control; Revision control (Computer science)

Publication Date


Document Type


Student Type


Degree Name

Software Engineering (MS)

Department, Program, or Center

Software Engineering (GCCIS)


Matthew Fluet

Advisor/Committee Member

Daniel Krutz

Advisor/Committee Member

Stephanie Ludi


Physical copy available from RIT's Wallace Library at QA76.76.D47 P38 2015


RIT – Main Campus

Plan Codes