Software Engineering

57 Publications

  •    

    Bespoke infrastructures

    Diomidis Spinellis

    IEEE Software, vol. 31 (2014), pp. 12-14

  •   

    Programmers’ Build Errors: A Case Study (at Google)

    Hyunmin Seo, Caitlin Sadowski, Sebastian Elbaum, Edward Aftandilian, Robert Bowdidge

    International Conference on Software Engineering (ICSE) (2014) (to appear)

  •   

    2nd international workshop on user evaluations for software engineering researchers (USER)

    Andrew Begel, Caitlin Sadowski

    International Conference on Software Engineering (ICSE) (2013)

  •    

    Accuracy of Contemporary Parametric Software Estimation Models: A Comparative Analysis

    Derya Toka

    Proceeding of the 39th Euromicro Conference Series on Software Engineering and Advanced Applications, IEEE, Santander, Spain (2013), pp. 313-316

  •    

    Applications and Extensions of Alloy: Past, Present, and Future

    Emina Torlak, Mana Taghdiri, Greg Dennis, Joseph Near

    Mathematical Structures in Computer Science, vol. 23 (2013), pp. 915-933

  •    

    Combining compile-time and run-time instrumentation for testing tools

    Timur Iskhodzhanov, Reid Kleckner, Evgeniy Stepanov

    Programmnye produkty i sistemy, vol. 3 (2013), pp. 224-231

  •    

    Does Bug Prediction Support Human Developers? Findings from a Google Case Study

    Chris Lewis, Zhongpeng Lin, Caitlin Sadowski, Xiaoyan Zhu, Rong Ou, E. James Whitehead Jr.

    International Conference on Software Engineering (ICSE) (2013)

  •    

    Generating Precise Dependencies for Large Software

    Pei Wang, Jinqiu Yang, Lin Tan, Robert Kroeger, J. David Morgenthaler

    Proceedings of the Forth International Workshop on Managing Technical Debt, IEEE (2013), pp. 47-50

  •    

    Large-Scale Automated Refactoring Using ClangMR

    Hyrum Wright, Daniel Jasper, Manuel Klimek, Chandler Carruth, Zhanyong Wan

    Proceedings of the 29th International Conference on Software Maintenance (2013)

  •    

    Scalable, Example-Based Refactorings with Refaster

    Louis Wasserman

    Workshop on Refactoring Tools (2013)

  •    

    Strategies for testing client-server interactions in mobile applications

    Niranjan Tulpule

    MobileDeLi '13 Proceedings of the 2013 ACM workshop on Mobile development lifecycle, ACM, Indianapolis, Indiana, pp. 19-20

  •    

    Testable JavaScript

    Mark Ethan Trostler

    O'Reilly Media, 1005 Gravenstein Highway North Sebastopol, CA 95472 (2013)

  •    

    A taste of Capsicum: practical capabilities for UNIX

    Robert N. M. Watson, Jonathan Anderson, Ben Laurie, Kris Kennaway

    Communications of the ACM, vol. 55(3) (2012), pp. 97-104

  •    

    AddressSanitizer: A Fast Address Sanity Checker

    Konstantin Serebryany, Derek Bruening, Alexander Potapenko, Dmitry Vyukov

    USENIX ATC 2012

  •    

    Building Useful Program Analysis Tools Using an Extensible Java Compiler

    Edward Aftandilian, Raluca Sauciuc, Siddharth Priya, Sundaresan Krishnan

    International Working Conference on Source Code Analysis and Manipulation (SCAM), IEEE (2012), pp. 14-23

  •   

    Measuring Enforcement Windows with Symbolic Trace Interpretation: What Well-Behaved Programs Say

    Devin Coughlin, Bor-Yuh Evan Chang, Amer Diwan, Jeremy Siek

    Proceedings of the 2012 International Symposium on Software Testing and Analysis, ACM, pp. 276-286

  •    

    Searching for Build Debt: Experiences Managing Technical Debt at Google

    J. David Morgenthaler, Misha Gridnev, Raluca Sauciuc, Sanjay Bhansali

    Proceedings of the Third International Workshop on Managing Technical Debt, IEEE (2012), pp. 1-6

  •    

    Systematic Software Testing: The Korat Approach

    Chandrasekhar Boyapati, Sarfraz Khurshid, Darko Marinov

    Foundations of Software Engineering (FSE), ACM (2012), pp. 1

  •    

    Team Geek: A Software Developer's Guide to Working Well with Others

    Brian W. Fitzpatrick, Ben Collins-Sussman

    O'Reilly Media, 1005 Gravenstein Highway North, Sebastopol, CA 95472 (2012), pp. 180

  •    

    Building Web Apps for Google TV

    Amanda Surya, Andres Ferrate, Daniels Lee, Maile Ohye, Paul Carff, Shawn Shen, Steven Hines

    o'Reilly Media, 1005 Gravenstein Hwy N Sebastopol, CA 95472 (2011), pp. 116

  •   

    Combined Static and Dynamic Automated Test Generation

    Sai Zhang, David Saff, Yingyi Bu, Michael D. Ernst

    Proc. 11th International Symposium on Software Testing and Analysis (ISSTA 2011), Toronto, Ontario, (to appear)

  •    

    Dynamic Race Detection with LLVM Compiler

    Konstantin Serebryany, Alexander Potapenko, Timur Iskhodzhanov, Dmitry Vyukov

    Google (2011)

  •    

    Entrepreneurial Innovation at Google

    Patrick Copeland, Alberto Savoia

    IEEE: Computer, vol. 0018-9162/11 (2011), pp. 7

  •    

    HTAF: Hybrid Testing Automation Framework to Leverage Local and Global Computing Resources

    Keun Soo Yim, David Hreczany, Ravishankar K. Iyer

    Lecture Notes in Computer Science, vol. 6784 (2011), pp. 479-494

  •    

    Practical Memory Checking with Dr. Memory

    Derek Bruening, Qin Zhao

    Proceedings of the IEEE/ACM International Symposium on Code Generation and Optimization, IEEE Computer Society, Los Alamitos, CA, USA (2011), pp. 213-223

  •    

    RACEZ: A Lightweight and Non-Invasive Race Detection Tool for Production Applications

    Tianwei Sheng, Neil Vachharajani, Stephane Eranian, Robert Hundt

    ICSE, ACM (2011), pp. 401-410

  •    

    Still All On One Server: Perforce at Scale

    Dan Bloch

    2011 Perforce User Conference

  •    

    The Future of Computing Performance: Game Over or Next Level?

    Samuel H. Fuller, Luiz André Barroso, Robert P. Colwell, William J. Dally, Dan Dobberpuhl, Pradeep Dubey, Mark D. Hill, Mark Horowitz, David Kirk, Monica Lam, Kathryn S. McKinley, Charles Moore, Katherine Yelick

    The National Academies Press (2011), pp. 200

  •   

    Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman

    Dave Hoover, Ade Oshineye

    O'Reilly, Sebastopol, California (2010), pp. 144

  •    

    Evolving ASDF: More Cooperation, Less Coordination

    François-René Rideau, Robert Goldman

    Proceedings of the International Lisp Conference 2010

  •    

    Google’s Innovation Factory: Testing, Culture, And Infrastructure

    Patrick Copeland

    IEEE International Conference on Software Testing, Verification and Validation (2010), pp. 4

  •   

    How Much Software Testing is Enough

    Ruben Ortega

    Communications of the ACM, vol. 53. No 9 (2010), pp. 9

  •    

    Object views: Fine-grained sharing in browsers

    Leo Meyerovich, Adrienne Felt, Mark S. Miller

    Proceedings of the International Conference on World Wide Web, World Wide Web Consortium (2010)

  •   

    Software development and crunch time; and more

    Ruben Ortega

    Communications of the ACM, vol. 53 No. 7 (2010), pp. 10-11

  •    

    Performance Trade-offs Implementing Refactoring Support for Objective-C

    Robert Bowdidge

    Workshop on Refactoring Tools (2009)

  •    

    Programming Google App Engine

    Dan Sanderson

    O'Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA, 95472 (2009), pp. 367

  •   

    ThreadSanitizer – data race detection in practice.

    Konstantin Serebryany, Timur Iskhodzhanov

    Proceedings of the Workshop on Binary Instrumentation and Applications, WBIA'09 (http://www.dyninst.org/wbia09/cfp.html)., NYC, NY, U.S.A. (2009), pp. 62-71

  •   

    Code Coverage, Performance, Approximation and Automatic Recognition of Idioms in Scientific Applications

    Jiahua He, Allan E. Snavely, Rob F. Van der Wijngaart, Michael A. Frumkin

    Proc. 17th International Symposium on High Performance Distributed Computing, ACM, Boston (2008), pp. 223-224

  •  

    Dynamic Recognition of Synchronization Operations for Improved Data Race Detection

    Chen Tian, Vijay Nagarajan, Rajiv Gupta, Sriraman Tallam

    Proc. International Symposium on Software Testing and Analysis, ACM, Seattle (2008), pp. 143-154

  •    

    Experiences Using Static Analysis to Find Bugs

    Nathaniel Ayewah, David Hovemeyer, J. David Morgenthaler, John Penix, William Pugh

    IEEE Software, vol. 25 (2008), pp. 22-29

  •  

    High Performance Web Sites

    Steve Souders

    Communications of the ACM, vol. 51 (2008), pp. 36-41

  •    

    Predicting Accurate and Actionable Static Analysis Warnings: An Experimental Approach

    Joseph Ruthruff, John Penix, J. David Morgenthaler, Sebastian Elbaum, Gregg Rothermel

    Proceedings of the International Conference on Software Engineering, ACM (2008), pp. 341-350

  •    

    Version Control with Subversion, Second Edition

    Brian Fitzpatrick, Ben Collins-Sussman, C. Michael Pilato

    O'Reilly Media, 1003 Gravenstein Highway North Sebastopol, CA 95472 (2008), pp. 430

  •    

    Evaluating Static Analysis Defect Warnings on Production Software

    Nathaniel Ayewah, William Pugh, J. David Morgenthaler, John Penix, YuQian Zhou

    Proceedings of the 7th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering, ACM Press, New York, NY, USA (2007), pp. 1-8

  •    

    Keeping the Web in Web 2.0: An HCI Approach to Designing Web Applications

    Joshua D. Mittleman, Steffen Meschkat

    ACM CHI 2007

  •   

    Parallel Test Generation and Execution with Korat

    Sasa Misailovic, Aleksandar Milicevic, Nemanja Petrovic, Sarfraz Khurshid, Darko Marinov

    Proc. 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, ACM, Dubrovnik, Croatia (2007)

  •    

    Project Intelligence

    Rong Ou

    Pacific Northwest Software Quality Conference 2007 Proceedings, PNSQC, PO Box 10733, Portland, OR 97296-0733, pp. 267-274

  •   

    Using FindBugs on Production Software

    Nathaniel Ayewah, J. David Morgenthaler, John Penix, William Pugh, YuQian Zhou

    Proc. OOPSLA'07, ACM, Montréal (2007)

  •   

    A Fishbowl with Piranhas: Coalescence, Convergence, or Divergence? The Future of Agile Software Development Practices: Some Assembly Required!

    Steven Fraser, Linda Rising, Scott Ambler, Alistair Cockburn, Jutta Eckstein, David Hussman, Randy Miller, Mark Striebeck, Dave Thomas

    Proc. OOPSLA, ACM, Portland, Oregon (2006), pp. 937-939

  •   

    How to design a good API and why it matters

    Joshua Bloch

    Proc. 21st ACM SIGPLAN Conference (OOPSLA), ACM, Portland, Oregon (2006), pp. 506-507

  •  

    LCSD: Library-Centric Software Design

    Josh Bloch, Jaakko Jäarvi, David Musser, Sibylle Schupp, Jeremy Siek

    Proc. OOPSLA, ACM, Portland, Oregon (2006), pp. 616-618

  •  

    LEVER: A Tool for Learning Based Verification (Tool Paper)

    Abhay Vardhan, Mahesh Viswanathan

    Springer (2006)

  •   

    Modular Software Upgrades for Distributed Systems

    Sameer Ajmani, Barbara Liskov, Liuba Shrira

    European Conference on Object-Oriented Programming (ECOOP) (2006)

  •   

    binpac: A yacc for Writing Application Protocol Parsers

    Ruoming Pang, Vern Paxson, Robin Sommer, Larry Peterson

    Proc. 6th ACM SIGCOMM on Internet Measurement, ACM, Rio de Janeriro (2006), pp. 289-300

  •   

    Hancock: A language for analyzing transactional data streams

    Corinna Cortes, Kathleen Fisher, Daryl Pregibon, Anne Rogers, Frederick Smith

    ACM Trans. Program. Lang. Syst., vol. 26 (2004), pp. 301-338

  •    

    How to Break Software

    James A. Whittaker

    Addison-Wesley (2002)

  •  

    Jscheme: A Dialect of Scheme for Scripting in Java,

    Ken Anderson, Tim Hickey, Peter Norvig

    Proceedings of the MIT Dynamic Languages Seminar (2001)