Software Development, Programming Principles, Tools, and Languages

Improving quality, efficiency, software trustworthiness

Our research in software development spans all aspects of making developers more productive and software more trustworthy. It includes programming-language design, compilers, specification and verification, development environments and tools, runtime environments, formal models of systems, performance monitoring and optimization, security and privacy, software analytics, and quality improvement.

We work on tools, languages, and methodologies to increase dramatically the productivity of software development. We are interested in analysis tools for existing software and in asking questions about how the software of the future should be designed and developed.



Akash Lal and Shaz Qadeer, Applying SMT-Based Verification to Device Drivers (Powering the Static Driver Verifier using Corral), in Foundations of Software Engineering (FSE), November 2014

Akash Lal and Shaz Qadeer, A Program Transformation for Faster Goal-Directed Search, Choose..., October 2014

Chengnian SUN, Haidong Zhang, Jian-Guang LOU, Hongyu ZHANG, Qiang WANG, Siau-Cheng Khoo, and Dongmei ZHANG, Querying Sequential Software Engineering Data, in FSE, Choose..., September 2014

Chieh-Jan Mike Liang, Nicholas D. Lane, Niels Brouwers, Li Zhang, Börje F. Karlsson, Hao Liu, Yan Liu, Jun Tang, Xiang Shan, Ranveer Chandra, and Feng Zhao, Caiipa: Automated Large-scale Mobile App Testing through Contextual Fuzzing, in MobiCom, ACM – Association for Computing Machinery, September 2014

Chen LUO, Jian-Guang LOU, Qingwei LIN, Qiang FU, Rui DING, Dongmei ZHANG, and Zhe WANG, Correlating Events with Time Series for Incident Diagnosis, in SIGKDD (in press), ACM – Association for Computing Machinery, August 2014

More publications...