He received his Ph.D in computer science from University of California at Santa Barbara in 2004. He taught software engineering courses and published extensively in software verifications and Web services areas.