Publications

Benno Stein, Bor-Yuh Evan Change, and Manu Sridharan. Interactive Abstract Interpretation with Demanded Summarization. TOPLAS, 2024. [ bib | DOI | .pdf ]

Yizhuo Zhai, Zhiyun Qian, Chengyu Song, Manu Sridharan, Trent Jaeger, Paul Yu, and Srikanth V. Krishnamurthy. Don't Waste My Efforts: Pruning Redundant Sanitizer Checks of Developer-Implemented Type Checks. In Proceedings of USENIX Security, 2024. [ bib | .pdf ]

Nima Karimipour, Justin Pham, Lazaro Clapp, and Manu Sridharan. Practical Inference of Nullability Types. In 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2023), 2023. [ bib | DOI | .pdf ]

Narges Shadab, Pritam Gharat, Shrey Tiwari, Michael D. Ernst, Martin Kellogg, Shuvendu Lahiri, Akash Lal, and Manu Sridharan. Inference of resource management specifications. Proceedings of the ACM on Programming Languages (PACMPL), Volume 7, Issue OOPSLA, 2023. [ bib | DOI | .pdf ]

Yizhuo Zhai, Yu Hao, Zheng Zhang, Weiteng Chen, Guoren Li, Zhiyun Qian, Chengyu Song, Manu Sridharan, Srikanth V. Krishnamurthy, Trent Jaeger, and Paul Yu. Progressive Scrutiny: Incremental Detection of UBI bugs in the Linux Kernel. In The Network and Distributed System Security Symposium (NDSS), 2022. [ bib | .pdf ]

Madhurima Chakraborty, Renzo Olivares, Manu Sridharan, and Behnaz Hassanshahi. Automatic Root Cause Quantification for Missing Edges in JavaScript Call Graphs. In 36th European Conference on Object-Oriented Programming (ECOOP 2022), 2022. Extended version. [ bib | DOI | .pdf ]

Martin Kellogg, Narges Shadab, Manu Sridharan, and Michael D. Ernst. Accumulation Analysis. In 36th European Conference on Object-Oriented Programming (ECOOP 2022), 2022. [ bib | DOI | .pdf ]

Lisa Chen, William H. Grover, Manu Sridharan, and Philip Brisk. Multi-objective design automation for microfluidic capture chips. IEEE Transactions on NanoBioscience, 2022. [ bib | DOI | .pdf ]

Benno Stein, Bor-Yuh Evan Chang, and Manu Sridharan. Demanded abstract interpretation. In ACM Conference on Programming Language Design and Implementation (PLDI), 2021. [ bib | DOI | .pdf ]

Martin Kellogg, Narges Shadab, Manu Sridharan, and Michael D. Ernst. Lightweight and modular resource leak verification. In Proceedings of the 2021 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE), 2021. Note: The pre-print hosted here differs slightly from the originally-published version, due to corrections in Table 3. Artifact. [ bib | DOI | .pdf ]

Sri Shaila G, Ahmad Darki, Michalis Faloutsos, Nael Abu-Ghazaleh, and Manu Sridharan. DisCo: Combining Disassemblers for Improved Performance. In 24th International Symposium on Research in Attacks, Intrusions and Defenses (RAID), 2021. [ bib | DOI | .pdf ]

Martin Kellogg, Manli Ran, Manu Sridharan, Martin Schäf, and Michael D. Ernst. Verifying object construction. In ICSE 2020, Proceedings of the 42nd International Conference on Software Engineering, Seoul, Korea, May 2020. [ bib | DOI | .pdf ]

Murali Krishna Ramanathan, Lazaro Clapp, Rajkishore Barik, and Manu Sridharan. Piranha: Reducing feature flag debt at Uber. In 2020 International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP 2020), 2020. [ bib | DOI | .pdf ]

Umar Farooq, Zhijia Zhao, Manu Sridharan, and Iulian Neamtiu. LiveDroid: Identifying and preserving mobile app state in volatile runtime environments. Proceedings of the ACM on Programming Languages (PACMPL), Volume 4, Issue OOPSLA, 2020. [ bib | DOI | .pdf ]

Subarno Banerjee, Lazaro Clapp, and Manu Sridharan. Nullaway: Practical type-based null safety for Java. In Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/FSE, 2019. [ bib | DOI | .pdf ]

Rajkishore Barik, Manu Sridharan, Murali Krishna Ramanathan, and Milind Chabbi. Optimization of Swift protocols. Proceedings of the ACM on Programming Languages (PACMPL), Volume 3, Issue OOPSLA, 2019. [ bib | DOI | .pdf ]

Benno Stein, Lazaro Clapp, Manu Sridharan, and Bor-Yuh Evan Chang. Safe stream-based programming with refinement types. In Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering, 2018. [ bib | DOI | .pdf ]

Christoffer Quist Adamsen, Anders Møller, Rezwana Karim, Manu Sridharan, Frank Tip, and Koushik Sen. Repairing event race errors by controlling nondeterminism. In Proceedings of the 39th International Conference on Software Engineering, ICSE, 2017. [ bib | DOI | .pdf ]

Andrei Marian Dan, Manu Sridharan, Satish Chandra, Jean-Baptiste Jeannin, and Martin T. Vechev. Finding fix locations for CFL-reachability analyses via minimum cuts. In Computer Aided Verification - 29th International Conference, CAV, 2017. [ bib | DOI | .pdf ]

Julie L. Newcomb, Satish Chandra, Jean-Baptiste Jeannin, Cole Schlesinger, and Manu Sridharan. IoTa: a calculus for internet of things automation. In Proceedings of the 2017 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Onward!, 2017. [ bib | DOI | .pdf ]

Esben Andreasen, Colin S. Gordon, Satish Chandra, Manu Sridharan, Frank Tip, and Koushik Sen. Trace typing: An approach for evaluating retrofitted type systems. In 30th European Conference on Object-Oriented Programming (ECOOP), 2016. Extended version. [ bib | DOI | .pdf ]

Satish Chandra, Colin S. Gordon, Jean-Baptiste Jeannin, Cole Schlesinger, Manu Sridharan, Frank Tip, and Young-Il Choi. Type inference for static compilation of JavaScript. In Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), 2016. Extended version. [ bib | DOI | .pdf ]

Calvin Loncaric, Satish Chandra, Cole Schlesinger, and Manu Sridharan. A practical framework for type inference error explanation. In Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), 2016. [ bib | DOI | .pdf ]

Benjamin Livshits, Manu Sridharan, Yannis Smaragdakis, Ondrej Lhoták, José Nelson Amaral, Bor-Yuh Evan Chang, Samuel Z. Guyer, Uday P. Khedker, Anders Møller, and Dimitrios Vardoulakis. In defense of soundiness: a manifesto. Communications of the ACM, 58(2):44--46, 2015. [ bib | DOI | .pdf ]

Liang Gong, Michael Pradel, Manu Sridharan, and Koushik Sen. DLint: Dynamically checking bad coding practices in JavaScript. In International Symposium on Software Testing and Analysis (ISSTA), 2015. [ bib | DOI | .pdf ]

Stefan Heule, Manu Sridharan, and Satish Chandra. Mimic: Computing models for opaque code. In Joint Meeting of the European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE), 2015. [ bib | DOI | .pdf ]

Simon Holm Jensen, Manu Sridharan, Koushik Sen, and Satish Chandra. MemInsight: Platform-independent memory debugging for JavaScript. In Joint Meeting of the European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE), 2015. Extended version, Artifact. [ bib | DOI | .pdf ]

Sam Blackshear, Bor-Yuh Evan Chang, and Manu Sridharan. Selective control-flow abstraction via jumping. In Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), 2015. [ bib | DOI | .pdf ]

Cosmin Radoi, Stephen J. Fink, Rodric Rabbah, and Manu Sridharan. Translating imperative code to MapReduce. In Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), 2014. [ bib | DOI | .pdf ]

Asger Feldthaus, Max Schäfer, Manu Sridharan, Julian Dolby, and Frank Tip. Efficient construction of approximate call graphs for JavaScript IDE services. In ICSE, 2013. [ bib | DOI | .pdf ]

Sam Blackshear, Bor-Yuh Evan Chang, and Manu Sridharan. Thresher: Precise refutations for heap reachability. In PLDI, 2013. [ bib | DOI | .pdf ]

Max Schäfer, Manu Sridharan, Julian Dolby, and Frank Tip. Dynamic determinacy analysis. In PLDI, 2013. [ bib | DOI | .pdf ]

Manu Sridharan, Satish Chandra, Julian Dolby, Stephen J. Fink, and Eran Yahav. Alias analysis for object-oriented programs. In David Clarke, Tobias Wrigstad, and James Noble, editors, Aliasing in Object-Oriented Programming. Springer, 2013. Note: there is a bug in the algorithm given in Figure 3. A corrected version appears in Dietrich et al. [ bib | DOI | .pdf ]

Veselin Raychev, Max Schäfer, Manu Sridharan, and Martin Vechev. Refactoring with synthesis. In Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), 2013. [ bib | DOI | .pdf ]

Veselin Raychev, Martin Vechev, and Manu Sridharan. Effective race detection for event-driven programs. In Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), 2013. Outstanding Artifact Award. [ bib | DOI | .pdf ]

Boris Petrov, Martin Vechev, Manu Sridharan, and Julian Dolby. Race detection for web applications. In Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation, 2012. [ bib | DOI | .pdf ]

Nishant Sinha, Nimit Singhania, Satish Chandra, and Manu Sridharan. Alternate and learn: Finding witnesses without looking all over. In Computer Aided Verification (CAV), 2012. [ bib | DOI | .pdf ]

Manu Sridharan, Julian Dolby, Satish Chandra, Max Schäfer, and Frank Tip. Correlation tracking for points-to analysis of JavaScript. In European Conference on Object Oriented Programming (ECOOP), 2012. [ bib | DOI | .pdf ]

David F. Bacon, Yiling Chen, Ian Kash, David Parkes, Malvika Rao, and Manu Sridharan. Predicting your own effort. In Proceedings of the Eleventh International Conference on Autonomous Agents and Multi-agent Systems, 2012. Best Paper Award. [ bib | .pdf ]

Manu Sridharan, Shay Artzi, Marco Pistoia, Salvatore Guarnieri, Omer Tripp, and Ryan Berg. F4F: taint analysis of framework-based web applications. In Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications, 2011. [ bib | DOI | .pdf ]

Sam Blackshear, Bor-Yuh Evan Chang, Sriram Sankaranarayanan, and Manu Sridharan. The flow-insensitive precision of Andersen's analysis in practice. In The 18th International Static Analysis Symposium (SAS 2011), 2011. [ bib | DOI | .pdf ]

Max Schäfer, Manu Sridharan, Julian Dolby, and Frank Tip. Refactoring Java programs for flexible locking. In International Conference on Software Engineering (ICSE), 2011. [ bib | DOI | .pdf ]

David F. Bacon, Eric Bokelberg, Yiling Chen, Ian A. Kash, David C. Parkes, Malvika Rao, and Manu Sridharan. Software economies. In Proceedings of the FSE/SDP Workshop on Future of Software Engineering Research, 2010. [ bib | DOI | .pdf ]

Max Schäfer, Julian Dolby, Manu Sridharan, Frank Tip, and Emina Torlak. Correct refactoring of concurrent Java code. In European Conference on Object-Oriented Programming (ECOOP), 2010. [ bib | DOI | .pdf ]

Jan Wloka, Manu Sridharan, and Frank Tip. Refactoring for reentrancy. In The Seventh Joint Meeting of the European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE), 2009. [ bib | DOI | .pdf ]

Manu Sridharan and Stephen J. Fink. The complexity of Andersen's analysis in practice. In The 16th International Static Analysis Symposium (SAS), 2009. Note: there is a bug in the algorithm given in Figure 1. A corrected version appears in Dietrich et al. [ bib | DOI | .pdf ]

Omer Tripp, Marco Pistoia, Stephen J. Fink, Manu Sridharan, and Omri Weisman. TAJ: Effective taint analysis of web applications. In PLDI 09: Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation, 2009. [ bib | DOI | .pdf ]

Satish Chandra, Stephen J. Fink, and Manu Sridharan. Snugglebug: A powerful approach to weakest preconditions. In ACM Conference on Programming Language Design and Implementation (PLDI), 2009. [ bib | DOI | .pdf ]

Guoxing Xu, Atanas Rountev, and Manu Sridharan. Scaling CFL-reachability-based points-to analysis using context-sensitive must-not-alias analysis. In European Conference on Object-Oriented Programming, 2009. [ bib | DOI | .pdf ]

Manu Sridharan, Stephen J Fink, and Rastislav Bodík. Thin slicing. In Proceedings of the 2007 ACM SIGPLAN Conference on Programming Language Design and Implementation, 2007. [ bib | DOI | .pdf ]

Manu Sridharan and Rastislav Bodík. Refinement-based context-sensitive points-to analysis for Java. In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2006), 2006. [ bib | DOI | .pdf ]

Manu Sridharan, Denis Gopan, Lexin Shan, and Rastislav Bodík. Demand-driven points-to analysis for Java. In 20th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), 2005. [ bib | DOI | .pdf ]

Ajeet Shankar and Manu Sridharan. New temperatures in Domineering. INTEGERS, 5:G04, 2005. [ bib | .pdf ]

Roman Manevich, Manu Sridharan, Stephen Adams, Manuvir Das, and Zhe Yang. PSE: explaining program failures via postmortem static analysis. In Twelfth International Symposium on the Foundations of Software Engineering (FSE), 2004. [ bib | DOI | .pdf ]

Bor-Yuh Evan Chang and Manu Sridharan. PML: Toward a high-level formal language for biological systems. In Workshop on Concurrent Models in Molecular Biology (BioConcur), 2003. [ bib | DOI | .pdf ]

Ilya Shlyakhter, Robert Seater, Daniel Jackson, Manu Sridharan, and Mana Taghdiri. Debugging overconstrained declarative models using unsatisfiable cores. In IEEE International Conference on Automated Software Engineering (ASE), 2003. Best Paper Award. [ bib | DOI | .pdf ]

Jong-Deok Choi, Keunwoo Lee, Alexey Loginov, Robert O'Callahan, Vivek Sarkar, and Manu Sridharan. Efficient and precise datarace detection for multithreaded object-oriented programs. In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 2002. [ bib | DOI | .pdf ]

Daniel Jackson, Ilya Shlyakhter, and Manu Sridharan. A micromodularity mechanism. In Foundations of Software Engineering / European Software Engineering Conference (FSE/ESEC), 2001. [ bib | DOI | .pdf ]

Bowen Alpern, Jong-Deok Choi, Ton Ngo, Manu Sridharan, and John Vlissides. A perturbation-free replay platform for cross-optimized multithreaded applications. In 15th International Parallel and Distributed Processing Symposium (IPDPS), 2001. [ bib | DOI | .pdf ]

Manu Sridharan and Gerald Tesauro. Multi-agent Q-learning and regression trees for automated pricing decisions. In Seventeenth International Conference on Machine Learning (ICML), 2000. [ bib | .pdf ]

Bowen Alpern, Ton Ngo, Jong-Deok Choi, and Manu Sridharan. DejaVu: deterministic Java replay debugger for Jalapeño Java virtual machine. In Addendum to the Proceedings of the Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), 2000. [ bib | DOI | .pdf ]