kirancodes.me
To Proof Maintenance & Beyond!
Venues / OOPSLA /

OOPSLA 2020

109 papers

  1. A large-scale longitudinal study of flaky tests · Wing Lam, Stefan Winter, Anjiang Wei, Tao Xie, Darko Marinov, Jonathan Bell
  2. A model for detecting faults in build specifications · Thodoris Sotiropoulos, Stefanos Chaliasos, Dimitris Mitropoulos, Diomidis Spinellis
  3. A modular cost analysis for probabilistic programs · Martin Avanzini, Georg Moser, Michael Schaper
  4. A sparse iteration space transformation framework for sparse tensor algebra · Ryan Senanayake, Changwan Hong, Ziheng Wang, Amalee Wilson, Stephen Chou, Shoaib Kamil + 2 more
  5. A structural model for contextual code changes · Shaked Brody, Uri Alon, Eran Yahav
  6. A systematic approach to deriving incremental type checkers · André Pacak, Sebastian Erdweg, Tamás Szabó
  7. A type-and-effect system for object initialization · Fengyun Liu, Ondrej Lhoták, Aggelos Biboudis, Paolo G. Giarrusso, Martin Odersky
  8. Actor concurrency bugs: a comprehensive study on symptoms, root causes, API usages, and differences · Mehdi Bagherzadeh, Nicholas Fireman, Anas Shawesh, Raffi Khatchadourian
  9. Adding interactive visual syntax to textual code · Leif Andersen, Michael Ballantyne, Matthias Felleisen
  10. Adversarial examples for models of code · Noam Yefet, Uri Alon, Eran Yahav
  11. Assertion-based optimization of Quantum programs · Thomas Häner, Torsten Hoefler, Matthias Troyer
  12. Automated policy synthesis for system call sandboxing · Shankara Pailoor, Xinyu Wang, Hovav Shacham, Isil Dillig
  13. Automatic and efficient variability-aware lifting of functional programs · Ramy Shahin, Marsha Chechik
  14. Build scripts with perfect dependencies · Sarah Spall, Neil Mitchell, Sam Tobin-Hochstadt
  15. CAMP: cost-aware multiparty session protocols · David Castro-Perez, Nobuko Yoshida
  16. Can advanced type systems be usable? An empirical study of ownership, assets, and typestate in Obsidian · Michael J. Coblenz, Jonathan Aldrich, Brad A. Myers, Joshua Sunshine
  17. Certified and efficient instruction scheduling: application to interlocked VLIW processors · Cyril Six, Sylvain Boulmé, David Monniaux
  18. CompCertELF: verified separate compilation of C programs into ELF object files · Yuting Wang, Xiangzhe Xu, Pierre Wilke, Zhong Shao
  19. Compiling symbolic execution with staging and algebraic effects · Guannan Wei, Oliver Bracevac, Shangyin Tan, Tiark Rompf
  20. Contextual dispatch for function specialization · Olivier Flückiger, Guido Chari, Ming-Ho Yee, Jan Jecmen, Jakob Hain, Jan Vitek
  21. Counterexample-guided correlation algorithm for translation validation · Shubhani Gupta, Abhishek Rose, Sorav Bansal
  22. Dataflow-based pruning for speeding up superoptimization · Manasij Mukherjee, Pranav Kant, Zhengyang Liu, John Regehr
  23. Deductive optimization of relational data storage · John K. Feser, Sam Madden, Nan Tang, Armando Solar-Lezama
  24. Designing types for R, empirically · Alexi Turcotte, Aviral Goel, Filip Krikava, Jan Vitek
  25. Detecting locations in JavaScript programs affected by breaking library changes · Anders Møller, Benjamin Barslev Nielsen, Martin Toldam Torp
  26. DiffStream: differential output testing for stream processing programs · Konstantinos Kallas, Filip Niksic, Caleb Stanford, Rajeev Alur
  27. Differentially-private software frequency profiling under linear constraints · Hailong Zhang, Yu Hao, Sufian Latif, Raef Bassily, Atanas Rountev
  28. Digging for fold: synthesis-aided API discovery for Haskell · Michael B. James, Zheng Guo, Ziteng Wang, Shivani Doshi, Hila Peleg, Ranjit Jhala + 1 more
  29. Do you have space for dessert? a verified space cost semantics for CakeML programs · Alejandro Gómez-Londoño, Johannes Åman Pohjola, Hira Taqdees Syeda, Magnus O. Myreen, Yong Kiam Tan
  30. DynamiTe: dynamic termination and non-termination proofs · Ton Chanh Le, Timos Antonopoulos, Parisa Fathololumi, Eric Koskinen, ThanhVu Nguyen
  31. Dynamic dispatch of context-sensitive optimizations · Gabriel Poesia, Fernando Magno Quintão Pereira
  32. Effects as capabilities: effect handlers and lightweight effect polymorphism · Jonathan Immanuel Brachthäuser, Philipp Schuster, Klaus Ostermann
  33. Eliminating abstraction overhead of Java stream pipelines using ahead-of-time program optimization · Anders Møller, Oskar Haarklou Veileborg
  34. Enabling accuracy-aware Quantum compilers using symbolic resource estimation · Giulia Meuli, Mathias Soeken, Martin Roetteler, Thomas Häner
  35. Exposing cache timing side-channel leaks through out-of-order symbolic execution · Shengjian Guo, Yueqi Chen, Jiyong Yu, Meng Wu, Zhiqiang Zuo, Peng Li + 2 more
  36. Fast linear programming through transprecision computing on small and sparse data · Tobias Grosser, Theodoros Theodoridis, Maximilian Falkenstein, Arjun Pitchanathan, Michael Kruse, Manuel Rigger + 2 more
  37. Featherweight go · Robert Griesemer, Raymond Hu, Wen Kokke, Julien Lange, Ian Lance Taylor, Bernardo Toninho + 2 more
  38. Feedback-driven semi-supervised synthesis of program transformations · Xiang Gao, Shraddha Barke, Arjun Radhakrishna, Gustavo Soares, Sumit Gulwani, Alan Leung + 2 more
  39. Finding bugs in database systems via query partitioning · Manuel Rigger, Zhendong Su
  40. Fixpoints for the masses: programming with first-class Datalog constraints · Magnus Madsen, Ondrej Lhoták
  41. Flow2Vec: value-flow-based precise code embedding · Yulei Sui, Xiao Cheng, Guanqin Zhang, Haoyu Wang
  42. FlowCFL: generalized type-based reachability analysis: graph reduction and equivalence of CFL-based and type-based reachability · Ana L. Milanova
  43. Formulog: Datalog for SMT-based static analysis · Aaron Bembenek, Michael Greenberg, Stephen Chong
  44. Foundations of empirical memory consistency testing · Jake Kirkham, Tyler Sorensen, Esin Tureci, Margaret Martonosi
  45. Fuzzing channel-based concurrency runtimes using types and effects · Quentin Stiévenart, Magnus Madsen
  46. Geometry types for graphics programming · Dietrich Geisler, Irene Yoon, Aditi Kabra, Horace He, Yinnon Sanders, Adrian Sampson
  47. Gradual verification of recursive heap data structures · Jenna Wise, Johannes Bader, Cameron Wong, Jonathan Aldrich, Éric Tanter, Joshua Sunshine
  48. Guided linking: dynamic linking without the costs · Sean Bartell, Will Dietz, Vikram S. Adve
  49. Guiding dynamic programing via structural probability for accelerating programming by example · Ruyi Ji, Yican Sun, Yingfei Xiong, Zhenjiang Hu
  50. Handling bidirectional control flow · Yizhou Zhang, Guido Salvaneschi, Andrew C. Myers
  51. Hidden inheritance: an inline caching design for TypeScript performance · Zhefeng Wu, Zhe Sun, Kai Gong, Lingyun Chen, Bin Liao, Yihua Jin
  52. How do programmers use unsafe rust? · Vytautas Astrauskas, Christoph Matheja, Federico Poli, Peter Müller, Alexander J. Summers
  53. Igloo: soundly linking compositional refinement and separation logic for distributed system verification · Christoph Sprenger, Tobias Klenze, Marco Eilers, Felix A. Wolf, Peter Müller, Martin Clochard + 1 more
  54. Incremental predicate analysis for regression verification · Qianshan Yu, Fei He, Bow-Yaw Wang
  55. Inter-theory dependency analysis for SMT string solvers · Minh-Thai Trinh, Duc-Hiep Chu, Joxan Jaffar
  56. Interactive synthesis of temporal specifications from examples and natural language · Ivan Gavran, Eva Darulova, Rupak Majumdar
  57. Just-in-time learning for bottom-up enumerative synthesis · Shraddha Barke, Hila Peleg, Nadia Polikarpova
  58. Knowing when to ask: sound scheduling of name resolution in type checkers derived from declarative specifications · Arjen Rouvoet, Hendrik van Antwerpen, Casper Bach Poulsen, Robbert Krebbers, Eelco Visser
  59. Koord: a language for programming and verifying distributed robotics application · Ritwika Ghosh, Chiao Hsieh, Sasa Misailovic, Sayan Mitra
  60. Learning graph-based heuristics for pointer analysis without handcrafting application-specific features · Minseok Jeon, Myungho Lee, Hakjoo Oh
  61. Learning semantic program embeddings with graph interval neural network · Yu Wang, Ke Wang, Fengjuan Gao, Linzhang Wang
  62. Learning-based controlled concurrency testing · Suvam Mukherjee, Pantazis Deligiannis, Arpita Biswas, Akash Lal
  63. LiveDroid: identifying and preserving mobile app state in volatile runtime environments · Umar Farooq, Zhijia Zhao, Manu Sridharan, Iulian Neamtiu
  64. Macros for domain-specific languages · Michael Ballantyne, Alexis King, Matthias Felleisen
  65. Mossad: defeating software plagiarism detection · Breanna Devore-McDonald, Emery D. Berger
  66. Multiparty motion coordination: from choreographies to robotics programs · Rupak Majumdar, Nobuko Yoshida, Damien Zufferey
  67. Neural reverse engineering of stripped binaries using augmented control flow graphs · Yaniv David, Uri Alon, Eran Yahav
  68. On the unusual effectiveness of type-aware operator mutations for testing SMT solvers · Dominik Winterer, Chengyu Zhang, Zhendong Su
  69. Perfectly parallel fairness certification of neural networks · Caterina Urban, Maria Christakis, Valentin Wüstholz, Fuyuan Zhang
  70. Persistent Owicki-Gries reasoning: a program logic for reasoning about persistent programs on Intel-x86 · Azalea Raad, Ori Lahav, Viktor Vafeiadis
  71. Polymorphic types and effects with Boolean unification · Magnus Madsen, Jaco van de Pol
  72. Pomsets with preconditions: a simple model of relaxed memory · Radha Jagadeesan, Alan Jeffrey, James Riely
  73. Precise inference of expressive units of measurement types · Tongtong Xiang, Jeff Y. Luo, Werner Dietl
  74. Precise static modeling of Ethereum "memory" · Sifis Lagouvardos, Neville Grech, Ilias Tsatiris, Yannis Smaragdakis
  75. Program equivalence for assisted grading of functional programs · Joshua Clune, Vijay Ramamurthy, Ruben Martins, Umut A. Acar
  76. Programming and reasoning with partial observability · Eric Atkinson, Michael Carbin
  77. Programming at the edge of synchrony · Cezara Dragoi, Josef Widder, Damien Zufferey
  78. Programming with a read-eval-synth loop · Hila Peleg, Roi Gabay, Shachar Itzhaky, Eran Yahav
  79. Projection-based runtime assertions for testing and debugging Quantum programs · Gushu Li, Li Zhou, Nengkun Yu, Yufei Ding, Mingsheng Ying, Yuan Xie
  80. Proving highly-concurrent traversals correct · Yotam M. Y. Feldman, Artem Khyzha, Constantin Enea, Adam Morrison, Aleksandar Nanevski, Noam Rinetzky + 1 more
  81. Random testing for C and C++ compilers with YARPGen · Vsevolod Livinskii, Dmitry Babokin, John Regehr
  82. Regex matching with counting-set automata · Lenka Turonová, Lukás Holík, Ondrej Lengál, Olli Saarikivi, Margus Veanes, Tomás Vojnar
  83. Resolution as intersection subtyping via Modus Ponens · Koar Marntirosian, Tom Schrijvers, Bruno C. d. S. Oliveira, Georgios Karachalias
  84. Rethinking safe consistency in distributed object-oriented programming · Mirko Köhler, Nafise Eskandani, Pascal Weisenburger, Alessandro Margara, Guido Salvaneschi
  85. Revisiting iso-recursive subtyping · Yaoda Zhou, Bruno C. d. S. Oliveira, Jinxu Zhao
  86. Satune: synthesizing efficient SAT encoders · Hamed Gorjiara, Guoqing Harry Xu, Brian Demsky
  87. Scalable and serializable networked multi-actor programming · Bo Sang, Patrick Eugster, Gustavo Petri, Srivatsan Ravi, Pierre-Louis Roman
  88. Scaling exact inference for discrete probabilistic programs · Steven Holtzen, Guy Van den Broeck, Todd D. Millstein
  89. Semiring optimizations: dynamic elision of expressions with identity and absorbing elements · Guilherme V. Leobas, Fernando Magno Quintão Pereira
  90. Shiftry: RNN inference in 2KB of RAM · Aayan Kumar, Vivek Seshadri, Rahul Sharma
  91. Sound garbage collection for C using pointer provenance · Subarno Banerjee, David Devecsery, Peter M. Chen, Satish Narayanasamy
  92. Statically verified refinements for multiparty protocols · Fangyi Zhou, Francisco Ferreira, Raymond Hu, Rumyana Neykova, Nobuko Yoshida
  93. StreamQL: a query language for processing streaming time series · Lingkun Kong, Konstantinos Mamouras
  94. Structure interpretation of text formats · Sumit Gulwani, Vu Le, Arjun Radhakrishna, Ivan Radicek, Mohammad Raza
  95. TacTok: semantics-aware proof synthesis · Emily First, Yuriy Brun, Arjun Guha
  96. Taming callbacks for smart contract modularity · Elvira Albert, Shelly Grossman, Noam Rinetzky, Clara Rodríguez-Núñez, Albert Rubio, Mooly Sagiv
  97. Taming type annotations in gradual typing · John Peter Campora III, Sheng Chen
  98. Termination analysis for evolving programs: an incremental approach by reusing certified modules · Fei He, Jitao Han
  99. Testing consensus implementations using communication closure · Cezara Dragoi, Constantin Enea, Burcu Kulahcioglu Ozkan, Rupak Majumdar, Filip Niksic
  100. Testing differential privacy with dual interpreters · Hengchu Zhang, Edo Roth, Andreas Haeberlen, Benjamin C. Pierce, Aaron Roth
  101. The anchor verifier for blocking and non-blocking concurrent software · Cormac Flanagan, Stephen N. Freund
  102. Towards a formal foundation of intermittent computing · Milijana Surbatovich, Brandon Lucia, Limin Jia
  103. Towards a unified proof framework for automated fixpoint reasoning using matching logic · Xiaohong Chen, Minh-Thai Trinh, Nishant Rodrigues, Lucas Peña, Grigore Rosu
  104. Unifying execution of imperative generators and declarative specifications · Pengyu Nie, Marinela Parovic, Zhiqiang Zang, Sarfraz Khurshid, Aleksandar Milicevic, Milos Gligoric
  105. Verifying and improving Halide's term rewriting system with program synthesis · Julie L. Newcomb, Andrew Adams, Steven Johnson, Rastislav Bodík, Shoaib Kamil
  106. Verifying replicated data types with typeclass refinements in Liquid Haskell · Yiyun Liu, James Parker, Patrick Redmond, Lindsey Kuper, Michael Hicks, Niki Vazou
  107. WATCHER: in-situ failure diagnosis · Hongyu Liu, Sam Silvestro, Xiangyu Zhang, Jian Huang, Tongping Liu
  108. World age in Julia: optimizing method dispatch in the presence of eval · Julia Belyakova, Benjamin Chung, Jack Gelinas, Jameson Nash, Ross Tate, Jan Vitek
  109. ιDOT: a DOT calculus with object initialization · Ifaz Kabir, Yufeng Li, Ondrej Lhoták