Broad areas of research collaboration: Program Analysis, System Validation, and Debugging

Our research group focuses on exploiting program analysis (PA) techniques in several domains. One of the applications of PA has been to deal with null dereferences. Members of our group have proposed a sound, demand-driven, inter-procedurally context-sensitive dataflow analysis technique to verify a given dereference as safe or potentially unsafe. As a second application of PA, a novel static-analysis-based solution to the problem of identifying services within transaction-processing programs, has been proposed. A new, dataflow based approach for static analysis of packet flows in networks and its application to the problem of inferring a high-level policy from the network has been studied as a third application. The fourth application considers flow-sensitive pointer analysis algorithms and the ability to perform strong updates. As a fifth application, cache analysis using abstract interpretation, which plays an important role in worst case execution time estimation of embedded system programs has been studied, and interdependent cache analyses which are more precise and also safe have been proposed.