Date of Award

January 2015

Degree Type


Degree Name

Doctor of Philosophy (PhD)


Computer Science

First Advisor

Charles E Killian

Second Advisor

Dongyan Xu

Committee Member 1

Milind Kulkarni

Committee Member 2

Patrick T Eugster


Cloud application development is currently for professionals only. To make the cloud more accessible, cloud applications should ideally be easy to develop so that virtually anyone can develop their own cloud applications. However, they are difficult to develop, because they are essentially distributed systems, where the concurrent operations may take place, and reasoning about the behavior of concurrent operations to ensure correctness is not trivial. Additionally, programmers must consider failure handling, scalability, consistency, modularity, elasticity.