Tutorials

Conference Papers
  1. On Abstraction Refinement for Program Analyses in Datalog.
    Xin Zhang, Ravi Mangal, Radu Grigore, Mayur Naik, and Hongseok Yang.
    PLDI'14: ACM Conference on Programming Language Design and Implementation.
    [long version]

  2. Hybrid Top-Down and Bottom-Up Interprocedural Analysis.
    Xin Zhang, Ravi Mangal, Mayur Naik, and Hongseok Yang.
    PLDI'14: ACM Conference on Programming Language Design and Implementation.
    [long version]

  3. A Correspondence between Two Approaches to Interprocedural Analysis in the Presence of Join.
    Ravi Mangal, Mayur Naik, and Hongseok Yang.
    ESOP'14: European Symposium on Programming
    Best Paper Award Nominee.
    [long version]

  4. Dynodroid: An Input Generation System for Android Apps.
    Aravind Machiry, Rohan Tahiliani, and Mayur Naik.
    FSE'13: ACM Symposium on Foundations of Software Engineering.
    Winner of Distinguished Artifact Award.
    [slides] [project webpage] [source code] [evaluation data]

  5. Mantis: Automatic Performance Prediction for Smartphone Applications.
    Yongin Kwon, Sangmin Lee, Hayoon Yi, Donghyun Kwon, Seungjun Yang, Byung-Gon Chun, Ling Huang, Petros Maniatis, Mayur Naik, and Yunheung Paek.
    ATC'13: USENIX Annual Technical Conference.
    [slides]

  6. Finding Optimum Abstractions in Parametric Dataflow Analysis.
    Xin Zhang, Mayur Naik, and Hongseok Yang.
    PLDI'13: ACM Conference on Programming Language Design and Implementation.
    [long version]

  7. Automated Concolic Testing of Smartphone Apps.
    Saswat Anand, Mayur Naik, Hongseok Yang, and Mary Jean Harrold.
    FSE'12: ACM Symposium on Foundations of Software Engineering.
    [long version] [slides] [source code]

  8. Abstractions from Tests.
    Mayur Naik, Hongseok Yang, Ghila Castelnuovo, and Mooly Sagiv.
    POPL'12: ACM Symposium on Principles of Programming Languages.
    [long version] [slides]

  9. Scaling Abstraction Refinement via Pruning.
    Percy Liang and Mayur Naik.
    PLDI'11: ACM Conference on Programming Language Design and Implementation.
    [slides]

  10. CloneCloud: Elastic Execution between Mobile Device and Cloud.
    Byung-Gon Chun, Sunghwan Ihm, Petros Maniatis, Mayur Naik, and Ashwin Patti.
    EuroSys'11: European Conference on Computer Systems.

  11. Learning Minimal Abstractions.
    Percy Liang, Omer Tripp, and Mayur Naik.
    POPL'11: ACM Symposium on Principles of Programming Languages.
    [slides]

  12. Predicting Execution Time of Computer Programs Using Sparse Polynomial Regression.
    Ling Huang, Jinzhu Jia, Bin Yu, Byung-Gon Chun, Petros Maniatis, and Mayur Naik.
    NIPS'10: Conference on Neural Information Processing Systems.
    [supplement]

  13. An Effective Dynamic Analysis for Detecting Generalized Deadlocks.
    Pallavi Joshi, Mayur Naik, Koushik Sen, and David Gay.
    FSE'10: ACM Symposium on Foundations of Software Engineering.

  14. A Dynamic Evaluation of the Precision of Static Heap Abstractions.
    Percy Liang, Omer Tripp, Mayur Naik, and Mooly Sagiv.
    OOPSLA'10: ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications.
    [slides]

  15. CalFuzzer: An Extensible Active Testing Framework for Concurrent Programs (Tool Paper).
    Pallavi Joshi, Mayur Naik, Chang-Seo Park, and Koushik Sen.
    CAV'09: International Conference on Computer Aided Verification.
    [tool website]

  16. Lightweight Annotations for Controlling Sharing in Concurrent Data Structures.
    Zachary Anderson, David Gay, and Mayur Naik.
    PLDI'09: ACM Conference on Programming Language Design and Implementation.
    [slides]

  17. A Randomized Dynamic Program Analysis Technique for Detecting Real Deadlocks.
    Pallavi Joshi, Chang-Seo Park, Koushik Sen, and Mayur Naik.
    PLDI'09: ACM Conference on Programming Language Design and Implementation.
    [slides]

  18. Effective Static Deadlock Detection.
    Mayur Naik, Chang-Seo Park, Koushik Sen, and David Gay.
    ICSE'09: International Conference on Software Engineering.
    Winner of Distinguished Paper Award.
    [slides] [extended slides] [experimental results

  19. Conditional Must Not Aliasing for Static Race Detection.
    Mayur Naik and Alex Aiken.
    POPL'07: ACM Symposium on Principles of Programming Languages.
    [slides] [extended slides]

  20. Effective Static Race Detection for Java.
    Mayur Naik, Alex Aiken, and John Whaley.
    PLDI'06: ACM Conference on Programming Language Design and Implementation.
    [slides] [extended slides] [experimental results]

  21. Statistical Debugging: Simultaneous Isolation of Multiple Bugs.
    Alice Zheng, Michael Jordan, Ben Liblit, Mayur Naik, and Alex Aiken.
    ICML'06: International Conference on Machine Learning.

  22. Scalable Statistical Bug Isolation.
    Ben Liblit, Mayur Naik, Alice Zheng, Alex Aiken, and Michael Jordan.
    PLDI'05: ACM Conference on Programming Language Design and Implementation.
    [slides]

  23. A Type System Equivalent to a Model Checker.
    Mayur Naik and Jens Palsberg.
    ESOP'05: European Symposium on Programming.
    [slides]

  24. From Symptom to Cause: Localizing Errors in Counterexample Traces.
    Thomas Ball, Mayur Naik, and Sriram K. Rajamani.
    POPL'03: ACM Symposium on Principles of Programming Languages.
    [slides]

  25. Compiling with Code-Size Constraints.
    Mayur Naik and Jens Palsberg.
    LCTES'02: ACM Conference on Languages, Compilers, and Tools for Embedded Systems.

Book Chapters
Journal Articles
Workshop Papers
  • Expectation-Oriented Framework for Automating Approximate Programming.
    Jongse Park, Kangqi Ni, Xin Zhang, Hadi Esmaeilzadeh, and Mayur Naik.
    WACAS'14: Workshop on Approximate Computing Across the System Stack.

  • Computing in Cirrus Clouds: The Challenge of Intermittent Connectivity.
    Cong Shi, Mostafa Ammar, Ellen Zegura, and Mayur Naik.
    MCC'12: ACM SIGCOMM Workshop on Mobile-Cloud Computing.

  • Public Deployment of Cooperative Bug Isolation.
    Ben Liblit, Mayur Naik, Alice Zheng, Alex Aiken, and Michael Jordan.
    RAMSS'04: ICSE Workshop on Remote Analysis and Measurement of Software Systems.

Theses