CROCHET: Checkpoint and Rollback via Lightweight Heap Traversal on Stock JVMsECOOP paper
Checkpoint/rollback (CR) mechanisms create snapshots of the state of a running application, allowing it to later be restored to that checkpointed snapshot. Support for checkpoint/rollback enables many program analyses and software engineering techniques, including test generation, fault tolerance, and speculative execution. Fully automatic CR support is built-in to some modern operating systems. However, such systems perform checkpoints at the coarse granularity of whole pages of virtual memory, which imposes relatively high overhead to incrementally capture the changing state of a process, and make it difficult for applications to checkpoint only some logical portions of their state. CR systems implemented at the application level and with a finer granularity typically require complex developer support to identify: (1) where checkpoints can take place, and (2) which program state needs to be copied. A popular compromise is to implement CR support in managed runtime environments, eg the Java Virtual Machine (JVM), but this typically requires specialized, non-standard runtime environments, limiting portability and adoption of this approach.
In this paper, we present a novel approach for Checkpoint ROllbaCk via lightweight HEap Traversal (CROCHET), which enables fully automatic fine-grained lightweight checkpoints within unmodified commodity JVMs (specifically Oracle’s HotSpot and OpenJDK). Leveraging key insights about the internal design common to modern state-of-the-art JVMs, CROCHET works entirely through bytecode rewriting and standard debug APIs, utilizing special proxy objects to perform a lazy heap traversal that starts at the root references and traverses the heap as objects are accessed, copying or restoring state as needed and removing each proxy immediately after it is used. We evaluated CROCHET on the DaCapo benchmark suite, finding it to have very low runtime overhead in steady state (ranging from no overhead to 1.13x slowdown), and that it often outperforms a state-of-the-art system-level checkpoint tool when creating checkpoints.
Wed 18 JulDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
17:00 - 20:00 | Poster sessionECOOP and ISSTA Posters at Matterhorn Chair(s): Lisa Nguyen Quang Do Paderborn University | ||
17:00 3hPoster | Typed First-Class TraitsECOOP paper ECOOP and ISSTA Posters | ||
17:00 3hPoster | PerfFuzz: Automatically Generating Pathological InputsISSTA paper ECOOP and ISSTA Posters Caroline Lemieux University of California, Berkeley, Rohan Padhye University of California, Berkeley, Koushik Sen University of California, Berkeley, Dawn Song | ||
17:00 3hPoster | Feature Visualiser: an Inspection Tool for Programmers in Context-Oriented ProgrammingCOP paper ECOOP and ISSTA Posters Benoît Duhoux Université catholique de Louvain, Belgium, Kim Mens Université Catholique de Louvain, Belgium, Bruno Dumas | ||
17:00 3hPoster | Bench4BL: Reproducibility Study on the Performance of IR-Based Bug LocalizationISSTA paper ECOOP and ISSTA Posters Jaekwon Lee University of Luxembourg, Luxembourg, Dongsun Kim University of Luxembourg, Tegawendé F. Bissyandé University of Luxembourg, Luxembourg, Woosung Jung Seoul National University of Education, Yves Le Traon University of Luxembourg | ||
17:00 3hPoster | Targeted Test Generation for Actor SystemsECOOP paper ECOOP and ISSTA Posters Sihan Li , Farah Hariri University of Illinois at Urbana-Champaign, Gul Agha University of Illinois at Urbana-Champaign, USA | ||
17:00 3hPoster | Leveraging Electromagnetic Side-Channel Attacks for Digital ForensicsWoSSCA talk ECOOP and ISSTA Posters Asanka Sayakkara University College Dublin, Nhien-An Le-Khac University College Dublin, Mark Scanlon University College Dublin | ||
17:00 3hPoster | Practical Detection of Concurrency Issues at Coding TimeISSTA paper ECOOP and ISSTA Posters Luc Bläser Hochschule für Technik Rapperswil | ||
17:00 3hPoster | Defensive Points-To Analysis: Effective Soundness via LazinessECOOP paper ECOOP and ISSTA Posters | ||
17:00 3hPoster | Shaping Program Repair Space with Existing Patches and Similar CodeISSTA paper ECOOP and ISSTA Posters Jiajun Jiang Peking University, Yingfei Xiong Peking University, Hongyu Zhang The University of Newcastle, Qing Gao Peking University, Xiangqun Chen Peking University | ||
17:00 3hPoster | Type Regression Testing to Detect Breaking Changes in Node.js LibrariesECOOP paper ECOOP and ISSTA Posters Gianluca Mezzetti Aarhus University, Denmark, Anders Møller Aarhus University, Martin Toldam Torp Aarhus University | ||
17:00 3hPoster | Test Case Prioritization for Acceptance Testing of Cyber Physical Systems: A Multi-objective Search-based ApproachISSTA paper ECOOP and ISSTA Posters Seung Yeob Shin SnT Centre/University of Luxembourg, Shiva Nejati SnT Centre/University of Luxembourg, Mehrdad Sabetzadeh SnT Centre/University of Luxembourg, Lionel Briand SnT Centre/University of Luxembourg, Frank Zimmer SES Techcom | ||
17:00 3hPoster | Making Data-Driven Porting Decisions with TuscanISSTA paper ECOOP and ISSTA Posters | ||
17:00 3hPoster | Advances in the ANaConDA FrameworkISSTA demonstration ECOOP and ISSTA Posters Jan Fiedor Brno University of Technology, Monika Mužikovská Brno University of Technology, Aleš Smrčka Brno University of Technology, Ondřej Vašíček Brno University of Technology, Tomáš Vojnar Brno University of Technology | ||
17:00 3hPoster | Automated End To End Testing of Single Page Web ApplicationsDoctoral symposium paper ECOOP and ISSTA Posters Matteo Biagiola Fondazione Bruno Kessler, Trento, Italy, Paolo Tonella Fondazione Bruno Kessler, Filippo Ricca DIBRIS, University of Genova, Italy | ||
17:00 3hPoster | A Characteristic Study of Parameterized Unit Tests in .NET Open Source ProjectsECOOP paper ECOOP and ISSTA Posters Wing Lam University of Illinois at Urbana-Champaign, Siwakorn Srisakaokul University of Illinois at Urbana-Champaign, USA, Blake Bassett University of Illinois at Urbana-Champaign, USA, Peyman Mahdian University of Illinois at Urbana-Champaign, USA, Tao Xie | ||
17:00 3hPoster | Shooting from the Heap: Ultra-Scalable Static Analysis with Heap SnapshotsISSTA paper ECOOP and ISSTA Posters Neville Grech University of Athens, George Fourtounis University of Athens, Adrian Francalanza University of Malta, Yannis Smaragdakis University of Athens | ||
17:00 3hPoster | ThingsMigrate: Platform-Independent Migration of Stateful JavaScript IoT ApplicationsECOOP paper ECOOP and ISSTA Posters Julien Gascon-Samson , Kumseok Jung University of British Columbia, Shivanshu Goyal University of British Columbia, Armin Rezaiean-Asel University of British Columbia, Karthik Pattabiraman University of British Columbia | ||
17:00 3hPoster | Polyglot Programming - Opportunities of Language Implementation Frameworks for Software DevelopersICOOOLPS paper ECOOP and ISSTA Posters Fabio Niephaus Hasso Plattner Institute, University of Potsdam, Robert Hirschfeld HPI, University of Potsdam | ||
17:00 3hPoster | OASIs: Oracle Assessment and Improvement ToolISSTA demonstration ECOOP and ISSTA Posters Gunel Jahangirova Fondazione Bruno Kessler & University College London, David Clark University College London, Mark Harman Facebook and University College London, Paolo Tonella Fondazione Bruno Kessler | ||
17:00 3hPoster | Deep Learning over CodeISSTA paper ECOOP and ISSTA Posters Chris Cummins University of Edinburgh, Pavlos Petoumenos University of Edinburgh, Alastair Murray Codeplay Software, Hugh Leather University of Edinburgh | ||
17:00 3hPoster | Translating Code Comments to Procedure SpecificationsISSTA paper ECOOP and ISSTA Posters Arianna Blasi Università della Svizzera italiana (USI) and IMDEA Software Institute, Alberto Goffi Università della Svizzera italiana (USI), Konstantin Kuznetsov Saarland University, CISPA, Alessandra Gorla IMDEA Software Institute, Michael D. Ernst University of Washington, USA, Mauro Pezze Università della Svizzera italiana (USI) and Università degli Studi di Milano Bicocca, Sergio Delgado Castellanos IMDEA Software Institute | ||
17:00 3hPoster | Transparent Static Analysis for the Detection of Security VulnerabilitiesDoctoral symposium paper ECOOP and ISSTA Posters Goran Piskachev Fraunhofer IEM | ||
17:00 3hPoster | Symbolic Path Cost Analysis for Side-Channel DetectionISSTA paper ECOOP and ISSTA Posters Tegan Brennan , Seemanta Saha University of California Santa Barbara, Tevfik Bultan University of California, Santa Barbara, Corina S. Păsăreanu NASA Ames Research Center | ||
17:00 3hPoster | FHJ: A Formal Model for Hierarchical Dispatching and OverridingECOOP paper ECOOP and ISSTA Posters Yanlin Wang University of Hong Kong, Haoyuan Zhang , Bruno C. d. S. Oliveira University of Hong Kong, China, Marco Servetto Victoria University of Wellington | ||
17:00 3hPoster | Incrementalizing Lattice-Based Program AnalysesFTfJP paper ECOOP and ISSTA Posters | ||
17:00 3hPoster | Secure integration of cryptographic softwareECOOP paper ECOOP and ISSTA Posters Stefan Krüger University of Paderborn, Eric Bodden Heinz Nixdorf Institut, Paderborn University and Fraunhofer IEM | ||
17:00 3hPoster | Analyzing the Analyzers: FlowDroid/IccTA, AmanDroid, and DroidSafeISSTA paper ECOOP and ISSTA Posters | ||
17:00 3hPoster | Badger: Complexity Analysis with Fuzzing and Symbolic ExecutionISSTA paper ECOOP and ISSTA Posters Yannic Noller Humboldt-Universität zu Berlin, Rody Kersten Synopsys, Inc., Corina S. Păsăreanu NASA Ames Research Center | ||
17:00 3hPoster | Efficient Reflection String Analysis via Graph ColoringECOOP paper ECOOP and ISSTA Posters Neville Grech University of Athens, George Kastrinis University of Athens, Yannis Smaragdakis University of Athens | ||
17:00 3hPoster | Tests from Traces: Automated Unit Test Extraction for RISSTA paper ECOOP and ISSTA Posters | ||
17:00 3hPoster | CiD: Automating the Detection of API-related Compatibility Issues in Android AppsISSTA paper ECOOP and ISSTA Posters Li Li Monash University, Australia, Tegawendé F. Bissyandé University of Luxembourg, Luxembourg, Haoyu Wang , Jacques Klein University of Luxembourg, SnT | ||
17:00 3hPoster | Modelling infinite behaviour by corulesECOOP paper ECOOP and ISSTA Posters Davide Ancona University of Genova, Francesco Dagnino DIBRIS, University of Genova, Italy, Elena Zucca University of Genova | ||
17:00 3hPoster | Towards a Framework for Detecting Energy Drain in Mobile Applications - An Architecture OverviewSOAP paper ECOOP and ISSTA Posters Andreas Schuler University of Applied Sciences Upper Austria, Gabriele Anderst-Kotsis Johannes Kepler University, Linz, Austria | ||
17:00 3hPoster | Learning to Accelerate Symbolic Execution via Code TransformationECOOP paper ECOOP and ISSTA Posters Junjie Chen Peking University, Wenxiang Hu Peking University, Lingming Zhang , Dan Hao Peking University, Sarfraz Khurshid University of Texas at Austin, Lu Zhang Peking University | ||
17:00 3hPoster | Distributed Multitier Programming with Placement Types using ScalaLociFTfJP paper ECOOP and ISSTA Posters | ||
17:00 3hPoster | SHAPES: Adding memory layouts and SIMD capabilities to high-level languagesICOOOLPS paper ECOOP and ISSTA Posters Juliana Franco Microsoft Research, Cambridge, Alexandros Tasos Imperial College London, Sophia Drossopoulou Imperial College London, Tobias Wrigstad Uppsala University, Susan Eisenbach Imperial College London | ||
17:00 3hPoster | Automating Object Transformations for Dynamic Software Updating via Online Execution SynthesisECOOP paper ECOOP and ISSTA Posters Tianxiao Gu , Xiaoxing Ma Nanjing University, Chang Xu Nanjing University, Yanyan Jiang Nanjing University, Chun Cao Nanjing University, Jian Lu Nanjing University | ||
17:00 3hPoster | Theory and Practice of Coroutines with SnapshotsECOOP paper ECOOP and ISSTA Posters | ||
17:00 3hPoster | Fault-tolerant Distributed Reactive ProgrammingECOOP paper ECOOP and ISSTA Posters Ragnar Mogk Technische Universität Darmstadt, Lars Baumgärtner Philipps-Universität Marburg, Guido Salvaneschi TU Darmstadt, Bernd Freisleben Philipps-Universität Marburg, Mira Mezini TU Darmstadt | ||
17:00 3hPoster | A Portable Framework for Multi-core Interference Tuning and AnalysisDoctoral symposium paper ECOOP and ISSTA Posters | ||
17:00 3hPoster | Probabilistic Software ModelingDoctoral symposium paper ECOOP and ISSTA Posters Hannes Thaller Institute for Software Systems Engineering, Johannes Kepler University, Linz | ||
17:00 3hDemonstration | Mutode: Generic JavaScript and Node.js Mutation Testing ToolISSTA demonstration ECOOP and ISSTA Posters Diego Rodríguez-Baquero Universidad de los Andes, Mario Linares-Vásquez Systems and Computing Engineering Department , Universidad de los Andes , Bogotá, Colombia | ||
17:00 3hPoster | CROCHET: Checkpoint and Rollback via Lightweight Heap Traversal on Stock JVMsECOOP paper ECOOP and ISSTA Posters Media Attached | ||
17:00 3hPoster | Testing for Performance Issues in OS KernelsDoctoral symposium paper ECOOP and ISSTA Posters | ||
17:00 3hPoster | The Essence of Nested CompositionECOOP paper ECOOP and ISSTA Posters Xuan Bi The University of Hong Kong, Bruno C. d. S. Oliveira University of Hong Kong, China, Tom Schrijvers KU Leuven | ||
17:00 3hPoster | Generating software adaptations using machine learningML4PL talk ECOOP and ISSTA Posters | ||
17:00 3hPoster | Automatically Translating Bug Reports into Test Cases for Mobile AppsISSTA paper ECOOP and ISSTA Posters Mattia Fazzini Georgia Institute of Technology, Martin Prammer Georgia Institute of Technology, Marcelo d'Amorim Federal University of Pernambuco, Alessandro Orso Georgia Tech | ||
17:00 3hPoster | Repositioning of Static Analysis AlarmsISSTA paper ECOOP and ISSTA Posters Tukaram Muske Tata Consultancy Services Ltd, Rohith Talluri Tata Consultancy Services Ltd, Alexander Serebrenik Eindhoven University of Technology |