Skip to content

Latest Research Paper On Software Engineering


    Advances in Continuous Integration Testing at Google

    John Micco



    Lessons from Building Static Analysis Tools at Google

    Caitlin Sadowski, Edward Aftandilian, Alex Eagle, Liam Miller-Cushon, Ciera Jaspan

    CACM (2018) (to appear)


    State of Mutation Testing at Google

    Goran Petrovic, Marko Ivankovic

    Proceedings of the 40th International Conference on Software Engineering 2017 (SEIP) (2018) (to appear)


    Detecting argument selection defects

    Andrew Rice, Eddie Aftandilian, Ciera Jaspan, Emily Johnston, Michael Pradel, Yulissa Arroyo-Paredes



    Privacy Requirements: Present & Future

    Pauline Anthonysamy, Awais Rashid, Ruzanna Chitchyan

    39th International Conference on Software Engineering (2017)


    Reflections on the REST Architectural Style and “Principled Design of the Modern Web Architecture”

    Roy T. Fielding, Richard N. Taylor, Justin Erenkrantz, Michael M. Gorlick, E. James Whitehead, Rohit Khare, Peyman Oreizy

    Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering (ESEC/FSE 2017), pp. 4-11


    SRE your gRPC

    Gráinne Sheerin, Gabe Krabbe



    Taming Google-Scale Continuous Testing

    Atif Memon, Bao Nguyen, Eric Nickell, John Micco, Sanjeev Dhanda, Rob Siemborski, Zebao Gao

    ICSE '17:Proceedings of the 39th International Conference on Software Engineering (2017) (to appear)


    Tangent: automatic differentiation using source code transformation in Python

    Bart van Merriënboer, Alexander B Wiltschko, Dan Moldovan

    ML Systems NIPS Workshop 2017 (2017)


    The Good, the Bad and the Ugly: A Study of Security Decisions in a Cyber-Physical Systems Game

    Sylvain Frey, Awais Rashid, Pauline Anthonysamy, Maria Pinto-Albuquerque, Asad Syed

    IEEE Transactions on Software Engineering, vol. Issue: 99 (2017)


    The ML Test Score: A Rubric for ML Production Readiness and Technical Debt Reduction

    Eric Breck, Shanqing Cai, Eric Nielsen, Michael Salib, D. Sculley

    Proceedings of IEEE Big Data (2017)


    The State of Continuous Integration Testing @Google

    John Micco

    ICST 2017 (IEEE) (2017) (to appear)


    Who Broke the Build? Automatically Identifying Changes That Induce Test Failures In Continuous Integration at Google Scale

    Celal Ziftci, Jim Reardon

    International Conference on Software Engineering (ICSE), Buenos Aires, Argentina (2017) (to appear)


    A Cross-Tool Study on Program Analysis Tool Notification Communication

    Brittany Johnson, Rahul Pandita, Justin Smith, Denae Ford, Sarah Elder, Emerson Murphy-Hill, Sarah Heckman, Caitlin Sadowski

    Foundations of Software Engineering (FSE) (2016)


    An Empirical Study of Practitioners’ Perspectives on Green Software Engineering

    Irene Manotas, Christian Bird, Rui Zhang, David Shepherd, Ciera Jaspan, Caitlin Sadowski, Lori Pollock, James Clause

    International Conference on Software Engineering (ICSE), 1600 Amphitheatre Parkway (2016) (to appear)


    Data-driven software security: Models and methods

    Úlfar Erlingsson

    IEEE Computer Security Foundations Symposium (2016)


    Decision Alignment (extended abstract)

    Mark S. Miller, Bill Tulloh

    Proceedings of ECOOP 2016, The European Conference on Object-Oriented Programming


    Design patterns for container-based distributed systems

    Brendan Burns, David Oppenheimer

    The 8th Usenix Workshop on Hot Topics in Cloud Computing (HotCloud '16) (2016)


    Engineering Reliability into Sites

    Alexander Perry

    RAM Huntsville (2016)


    Inferring Software Component Interaction Dependency for Adaptation Support

    Naeem Esfahani, Eric Yuan, Kyle R. Canavera, Sam Malek

    ACM TAAS (2016)


    Optimizing Distributed Actor Systems for Dynamic Interactive Services

    Andrew Newell, Gabriel Kliot, Ishai Menache, Aditya Gopalan, Soramichi Akiyama, Mark Silberstein

    EuroSys 2016, ACM – Association for Computing Machinery (to appear)


    TensorFlow Debugger: Debugging Dataflow Graphs for Machine Learning

    Shanqing Cai, Eric Breck, Eric Nielsen, Michael Salib, D. Sculley

    Proceedings of the Reliable Machine Learning in the Wild - NIPS 2016 Workshop (2016)


    What’s your ML test score? A rubric for ML production systems

    Eric Breck, Shanqing Cai, Eric Nielsen, Michael Salib, D. Sculley

    Reliable Machine Learning in the Wild - NIPS 2016 Workshop (2016)


    Why Google Stores Billions of Lines of Code in a Single Repository

    Rachel Potvin, Josh Levenberg

    Communications of the ACM, vol. 59 (2016), pp. 78-87


    Automated Decomposition of Build Targets

    Mohsen Vakilian, Raluca Sauciuc, J. David Morgenthaler, Vahab Mirrokni

    Proceedings of the 37th International Conference on Software Engineering, IEEE Computer Society (2015), pp. 123-133


    Continuous Pipelines at Google

    Dan Dennison

    SRECon Europe 2015, USENIX, Dublin, Ireland, pp. 12


    Enhancing Android Accessibility for Users with Hand Tremor by Reducing Fine Pointing and Steady Tapping

    Yu Zhong, Astrid Weber, Casey Burkhardt, Phil Weaver, Jeffrey P. Bigham

    Web4All, Florence, Italy (2015), pp. 10


    How Developers Search for Code: A Case Study

    Caitlin Sadowski, Kathryn T. Stolee, Sebastian Elbaum

    Joint Meeting of the European Software Engineering Conference and the Symposium on the Foundations of Software Engineering (ESEC/FSE ), 1600 Amphitheatre Parkway (2015)


    Reusable Components of Semantic Specifications

    Martin Churchill, Peter D. Mosses, Neil Sculthorpe, Paolo Torrini

    Lecture Notes in Computer Science, vol. 8989 (2015), pp. 132-179


    Tricorder: Building a Program Analysis Ecosystem

    Caitlin Sadowski, Jeffrey van Gogh, Ciera Jaspan, Emma Soederberg, Collin Winter

    International Conference on Software Engineering (ICSE) (2015)


    Using Actors to Implement Sequential Simulations

    Ryan Harrison

    University of Saskatchewan, Saskatchewan, Canada (2015)


    A case of computational thinking: The subtle effect of hidden dependencies on the user experience of version control

    Luke Church, Emma Soederberg, Elayabharath Elango

    Psychology of Programming Interest Group Annual Conference 2014, pp. 123-128


    ARC++: Effective Typestate and Lifetime Dependency Analysis

    Xusheng Xiao, Gogul Balakrishnan, Franjo Ivancic, Naoto Maeda, Aarti Gupta, Deepak Chhetri

    ISSTA, ACM (2014), pp. 116-126


    An Adaptable Rule Placement for Software Defined Networks

    Shuyuan Zhang, Franjo Ivancic, Cristian Lumezanu, Yifei Yuan, Aarti Gupta, Sharad Malik

    DSN, IEEE (2014)


    Bespoke infrastructures

    Diomidis Spinellis

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


    Generating Consistent Updates for Software-Defined Network Configurations

    Yifei Yuan, Franjo Ivancic, Cristian Lumezanu, Shuyuan Zhang, Aarti Gupta

    HotSDN, ACM (2014)


    Machine Learning: The High Interest Credit Card of Technical Debt

    D. Sculley, Gary Holt, Daniel Golovin, Eugene Davydov, Todd Phillips, Dietmar Ebner, Vinay Chaudhary, Michael Young

    SE4ML: Software Engineering for Machine Learning (NIPS 2014 Workshop)


    Moving Targets: Security and Rapid-Release in Firefox

    Sandy Clark, Michael Collis, Matt Blaze, Jonathan M. Smith

    Proceedings of the 2014 ACM SIGSAC Conference on Computer and Communications Security, ACM, New York, NY, pp. 1256-1266


    Norming to Performing: Failure Analysis and Deployment Automation of Big Data Software Developed by Highly Iterative Models

    Keun Soo Yim

    IEEE International Symposium on Software Reliability Engineering, IEEE International Symposium on Software Reliability Engineering (2014), pp. 144-155


    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)


    RLint: Reformatting R Code to Follow the Google Style Guide

    Alex Blocker, Andy Chen, Andy Chu, Tim Hesterberg, Jeffrey D. Oldham, Caitlin Sadowski, Tom Zhang

    R User Conference (2014)


    Securing the Tangled Web

    Christoph Kern

    Communications of the ACM, vol. 57, no. 9 (2014), pp. 38-47


    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)


    Why Don't Software Developers Use Static Analysis Tools to Find Bugs?

    Brittany Johnson, Yoonki Song, Emerson Murphy-Hill, Robert Bowdidge

    International Conference on Software Engineering (2013), pp. 672-681


    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 (, 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

    J. 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)

  • The aim of JSERD, a fully open access journal published under the brand SpringerOpen, is to inform the readers about state of the art of software engineering by publishing high quality papers that represent results of consolidated research and innovations in software engineering and related areas. JSERD topics of interest include, but are not restricted to:

    • Architecture, design and frameworks
    • Social and ethical aspects of software engineering
    • Model-driven software engineering
    • Generative or transformation-based development
    • Requirements engineering
    • Software engineering supported by multi and hypermedia
    • Component-based software engineering
    • Knowledge-based software engineering
    • Experimental software engineering
    • Tools and software engineering environments
    • Software dependability
    • Theoretical foundations of software engineering
    • Software project management
    • Software maintenance, reverse engineering and re-engineering
    • Methods of software analysis and design
    • Software metrics
    • Agent-based software development
    • Aspect-oriented software development
    • Modelling and enactment of software processes, rigorous and agile
    • Software engineering ontologies
    • Software safety, security, privacy and risks
    • Software quality
    • Software reuse
    • Software testing
    • Software verification, validation and inspection
    Browse Volumes & Issues