Aiken's research focuses on developing techniques for the construction of reliable software systems. His interests include both static and dynamic methods of analyzing programs, and span both detecting errors and verifying the absence of errors in software. Most of his research combines a theoretical component (for example, proving the soundness of an analysis technique) and a practical component, which often involves the implementation and measurement of advanced program analysis algorithms. Finally, his research also extends to the design of new programming languages and programming techniques in which it is easier to write software that can be checked for a wide variety of errors.
PhD, Cornell (1988)