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.



Emerson Murphy-Hill, Thomas Zimmermann, Christian Bird, and Nachiappan Nagappan, The Design Space of Bug Fixes and How Developers Navigate It, in IEEE Transactions on Software Engineering, IEEE – Institute of Electrical and Electronics Engineers, December 2015

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

Gordon Stewart, Mahanth Gowda, Geoffrey Mainland, Bozidar Radunovic, Dimitrios Vytiniotis, and Cristina Luengo Agulló, Ziria: A DSL for wireless systems programming, in ASPLOS, ACM – Association for Computing Machinery, March 2015

Robert A Cochran, Loris D’Antoni, Benjamin Livshits, David Molnar, and Margus Veanes, Program Boosting: Program Synthesis via Crowd-Sourcing, in POPL 2015: 42nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, ACM – Association for Computing Machinery, January 2015

Thomas BALL and Jakub DANIEL, Deconstructing Dynamic Symbolic Execution, in Proceedings of the 2014 Marktoberdorf Summer School on Dependable Software Systems Engineering, IOS Press, January 2015

More publications ...