Share on Facebook Tweet on Twitter Share on LinkedIn Share by email
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.

 

Publications

Abram Hindle, Christian Bird, Thomas Zimmermann, and Nachiappan Nagappan, Do Topics Make Sense to Managers and Developers?, in Empirical Software Engineering, Springer, December 2015.

Pantazis Deligiannis, Jeroen Ketema, Paul Thomson, Alastair Donaldson, and Akash Lal, Asynchronous Programming, Analysis and Testing with State Machines, in Programming Language Design and Implementation (PLDI), ACM, June 2015.

Akash Lal and Shaz Qadeer, Deciding Reachability in Hierarchical Programs Using DAG Inlining, in Programming Language Design and Implementation (PLDI), ACM, June 2015.

Edward K. Smith, Christian Bird, and Thomas Zimmermann, Build it yourself! Homegrown tools in a large software company, in Proceedings of the 37th International Conference on Software Engineering, IEEE – Institute of Electrical and Electronics Engineers, May 2015.

Eric Chen, Shuo Chen, Shaz Qadeer, and Rui Wang, Securing Multiparty Online Services via Certification of Symbolic Transactions, in Proceedings of the IEEE Symposium on Security and Privacy (Oakland), IEEE – Institute of Electrical and Electronics Engineers, May 2015.

More publications ...