@Proceedings{muller:LIPIcs.ECOOP.2017, title = {{LIPIcs, Volume 74, ECOOP'17, Complete Volume}}, booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-035-4}, ISSN = {1868-8969}, year = {2017}, volume = {74}, editor = {M\"{u}ller, Peter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2017}, URN = {urn:nbn:de:0030-drops-72993}, doi = {10.4230/LIPIcs.ECOOP.2017}, annote = {Keywords: Programming Techniques; Software Engineering} } @InProceedings{muller:LIPIcs.ECOOP.2017.0, author = {M\"{u}ller, Peter}, title = {{Front Matter, Table of Contents, Foreword, Conference Organization, External Reviewers, Authors}}, booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)}, pages = {0:i--0:xxvi}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-035-4}, ISSN = {1868-8969}, year = {2017}, volume = {74}, editor = {M\"{u}ller, Peter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2017.0}, URN = {urn:nbn:de:0030-drops-72783}, doi = {10.4230/LIPIcs.ECOOP.2017.0}, annote = {Keywords: Programming Techniques, Software Engineering} } @InProceedings{schulte:LIPIcs.ECOOP.2017.1, author = {Schulte, Wolfram}, title = {{Challenges to Achieving High Availability at Scale}}, booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)}, pages = {1:1--1:1}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-035-4}, ISSN = {1868-8969}, year = {2017}, volume = {74}, editor = {M\"{u}ller, Peter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2017.1}, URN = {urn:nbn:de:0030-drops-72503}, doi = {10.4230/LIPIcs.ECOOP.2017.1}, annote = {Keywords: Distributed Systems, Availability, Reliability, Fault Tolerance, Consistency, Scalability, Replication, Sharding, Caching} } @InProceedings{bracha:LIPIcs.ECOOP.2017.2, author = {Bracha, Gilad}, title = {{Composing Software in an Age of Dissonance}}, booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)}, pages = {2:1--2:1}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-035-4}, ISSN = {1868-8969}, year = {2017}, volume = {74}, editor = {M\"{u}ller, Peter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2017.2}, URN = {urn:nbn:de:0030-drops-72796}, doi = {10.4230/LIPIcs.ECOOP.2017.2}, annote = {Keywords: Object-orientation, Programming languages, Modularity, IDEs, Software Design} } @InProceedings{tate:LIPIcs.ECOOP.2017.3, author = {Tate, Ross}, title = {{Retargeting Gradual Typing}}, booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)}, pages = {3:1--3:1}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-035-4}, ISSN = {1868-8969}, year = {2017}, volume = {74}, editor = {M\"{u}ller, Peter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2017.3}, URN = {urn:nbn:de:0030-drops-72802}, doi = {10.4230/LIPIcs.ECOOP.2017.3}, annote = {Keywords: Design, Efficiency, Gradual Typing, Nominal Types} } @InProceedings{anderson_et_al:LIPIcs.ECOOP.2017.4, author = {Anderson, Todd A. and Liu, Hai and Kuper, Lindsey and Totoni, Ehsan and Vitek, Jan and Shpeisman, Tatiana}, title = {{Parallelizing Julia with a Non-Invasive DSL}}, booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)}, pages = {4:1--4:29}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-035-4}, ISSN = {1868-8969}, year = {2017}, volume = {74}, editor = {M\"{u}ller, Peter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2017.4}, URN = {urn:nbn:de:0030-drops-72693}, doi = {10.4230/LIPIcs.ECOOP.2017.4}, annote = {Keywords: parallelism, scientific computing, domain-specific languages, Julia} } @InProceedings{berger_et_al:LIPIcs.ECOOP.2017.5, author = {Berger, Martin and Tratt, Laurence and Urban, Christian}, title = {{Modelling Homogeneous Generative Meta-Programming}}, booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)}, pages = {5:1--5:23}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-035-4}, ISSN = {1868-8969}, year = {2017}, volume = {74}, editor = {M\"{u}ller, Peter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2017.5}, URN = {urn:nbn:de:0030-drops-72775}, doi = {10.4230/LIPIcs.ECOOP.2017.5}, annote = {Keywords: Formal Methods, Meta-Programming, Operational Semantics, Types, Quasi-Quotes, Abstract Syntax Trees} } @InProceedings{castegren_et_al:LIPIcs.ECOOP.2017.6, author = {Castegren, Elias and Wrigstad, Tobias}, title = {{Relaxed Linear References for Lock-free Data Structures}}, booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)}, pages = {6:1--6:32}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-035-4}, ISSN = {1868-8969}, year = {2017}, volume = {74}, editor = {M\"{u}ller, Peter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2017.6}, URN = {urn:nbn:de:0030-drops-72670}, doi = {10.4230/LIPIcs.ECOOP.2017.6}, annote = {Keywords: Type systems, Concurrency, Lock-free programming} } @InProceedings{cruz_et_al:LIPIcs.ECOOP.2017.7, author = {Cruz, Raimil and Rezk, Tamara and Serpette, Bernard and Tanter, \'{E}ric}, title = {{Type Abstraction for Relaxed Noninterference}}, booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)}, pages = {7:1--7:27}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-035-4}, ISSN = {1868-8969}, year = {2017}, volume = {74}, editor = {M\"{u}ller, Peter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2017.7}, URN = {urn:nbn:de:0030-drops-72688}, doi = {10.4230/LIPIcs.ECOOP.2017.7}, annote = {Keywords: type abstraction, relaxed noninterference, information flow control} } @InProceedings{delbianco_et_al:LIPIcs.ECOOP.2017.8, author = {Delbianco, Germ\'{a}n Andr\'{e}s and Sergey, Ilya and Nanevski, Aleksandar and Banerjee, Anindya}, title = {{Concurrent Data Structures Linked in Time}}, booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)}, pages = {8:1--8:30}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-035-4}, ISSN = {1868-8969}, year = {2017}, volume = {74}, editor = {M\"{u}ller, Peter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2017.8}, URN = {urn:nbn:de:0030-drops-72558}, doi = {10.4230/LIPIcs.ECOOP.2017.8}, annote = {Keywords: Separation logic, Linearization Points, Concurrent snapshots, FCSL} } @InProceedings{dietrich_et_al:LIPIcs.ECOOP.2017.9, author = {Dietrich, Jens and Pearce, David J. and Jezek, Kamil and Brada, Premek}, title = {{Contracts in the Wild: A Study of Java Programs}}, booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)}, pages = {9:1--9:29}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-035-4}, ISSN = {1868-8969}, year = {2017}, volume = {74}, editor = {M\"{u}ller, Peter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2017.9}, URN = {urn:nbn:de:0030-drops-72590}, doi = {10.4230/LIPIcs.ECOOP.2017.9}, annote = {Keywords: verification, design-by-contract, assertions, preconditions, postconditions, runtime checking, java, input validation} } @InProceedings{dietrich_et_al:LIPIcs.ECOOP.2017.10, author = {Dietrich, Jens and Jezek, Kamil and Rasheed, Shawn and Tahir, Amjed and Potanin, Alex}, title = {{Evil Pickles: DoS Attacks Based on Object-Graph Engineering}}, booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)}, pages = {10:1--10:32}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-035-4}, ISSN = {1868-8969}, year = {2017}, volume = {74}, editor = {M\"{u}ller, Peter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2017.10}, URN = {urn:nbn:de:0030-drops-72606}, doi = {10.4230/LIPIcs.ECOOP.2017.10}, annote = {Keywords: serialisation, denial of service, degradation of service, Java, C#, JavaScript, Ruby, vulnerabilities, library design, collection libraries} } @InProceedings{fowler_et_al:LIPIcs.ECOOP.2017.11, author = {Fowler, Simon and Lindley, Sam and Wadler, Philip}, title = {{Mixing Metaphors: Actors as Channels and Channels as Actors}}, booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)}, pages = {11:1--11:28}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-035-4}, ISSN = {1868-8969}, year = {2017}, volume = {74}, editor = {M\"{u}ller, Peter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2017.11}, URN = {urn:nbn:de:0030-drops-72536}, doi = {10.4230/LIPIcs.ECOOP.2017.11}, annote = {Keywords: Actors, Channels, Communication centric Programming Languages} } @InProceedings{fu_et_al:LIPIcs.ECOOP.2017.12, author = {Fu, Weili and Perera, Roly and Anderson, Paul and Cheney, James}, title = {{muPuppet: A Declarative Subset of the Puppet Configuration Language}}, booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)}, pages = {12:1--12:27}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-035-4}, ISSN = {1868-8969}, year = {2017}, volume = {74}, editor = {M\"{u}ller, Peter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2017.12}, URN = {urn:nbn:de:0030-drops-72656}, doi = {10.4230/LIPIcs.ECOOP.2017.12}, annote = {Keywords: configuration languages, Puppet, operational semantics} } @InProceedings{gordon:LIPIcs.ECOOP.2017.13, author = {Gordon, Colin S.}, title = {{A Generic Approach to Flow-Sensitive Polymorphic Effects}}, booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)}, pages = {13:1--13:31}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-035-4}, ISSN = {1868-8969}, year = {2017}, volume = {74}, editor = {M\"{u}ller, Peter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2017.13}, URN = {urn:nbn:de:0030-drops-72561}, doi = {10.4230/LIPIcs.ECOOP.2017.13}, annote = {Keywords: Type systems, effect systems, quantales, polymorphism} } @InProceedings{harkes_et_al:LIPIcs.ECOOP.2017.14, author = {Harkes, Daco C. and Visser, Eelco}, title = {{IceDust 2: Derived Bidirectional Relations and Calculation Strategy Composition}}, booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)}, pages = {14:1--14:29}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-035-4}, ISSN = {1868-8969}, year = {2017}, volume = {74}, editor = {M\"{u}ller, Peter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2017.14}, URN = {urn:nbn:de:0030-drops-72518}, doi = {10.4230/LIPIcs.ECOOP.2017.14}, annote = {Keywords: Incremental Computing, Data Modeling, Domain Specific Language} } @InProceedings{huang_et_al:LIPIcs.ECOOP.2017.15, author = {Huang, Jeff and Rajagopalan, Arun K.}, title = {{What'’s the Optimal Performance of Precise Dynamic Race Detection? –A Redundancy Perspective}}, booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)}, pages = {15:1--15:22}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-035-4}, ISSN = {1868-8969}, year = {2017}, volume = {74}, editor = {M\"{u}ller, Peter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2017.15}, URN = {urn:nbn:de:0030-drops-72722}, doi = {10.4230/LIPIcs.ECOOP.2017.15}, annote = {Keywords: Data Race Detection, Dynamic Analysis, Concurrency, Redundancy} } @InProceedings{huang_et_al:LIPIcs.ECOOP.2017.16, author = {Huang, Shiyou and Huang, Jeff}, title = {{Speeding Up Maximal Causality Reduction with Static Dependency Analysis}}, booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)}, pages = {16:1--16:22}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-035-4}, ISSN = {1868-8969}, year = {2017}, volume = {74}, editor = {M\"{u}ller, Peter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2017.16}, URN = {urn:nbn:de:0030-drops-72523}, doi = {10.4230/LIPIcs.ECOOP.2017.16}, annote = {Keywords: Model Checking, Dynamic Analysis, Program Dependency Analysis} } @InProceedings{kaiser_et_al:LIPIcs.ECOOP.2017.17, author = {Kaiser, Jan-Oliver and Dang, Hoang-Hai and Dreyer, Derek and Lahav, Ori and Vafeiadis, Viktor}, title = {{Strong Logic for Weak Memory: Reasoning About Release-Acquire Consistency in Iris}}, booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)}, pages = {17:1--17:29}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-035-4}, ISSN = {1868-8969}, year = {2017}, volume = {74}, editor = {M\"{u}ller, Peter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2017.17}, URN = {urn:nbn:de:0030-drops-72753}, doi = {10.4230/LIPIcs.ECOOP.2017.17}, annote = {Keywords: Weak memory models, release-acquire, concurrency, separation logic} } @InProceedings{kuci_et_al:LIPIcs.ECOOP.2017.18, author = {Kuci, Edlira and Erdweg, Sebastian and Bracevac, Oliver and Bejleri, Andi and Mezini, Mira}, title = {{A Co-contextual Type Checker for Featherweight Java}}, booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)}, pages = {18:1--18:26}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-035-4}, ISSN = {1868-8969}, year = {2017}, volume = {74}, editor = {M\"{u}ller, Peter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2017.18}, URN = {urn:nbn:de:0030-drops-72628}, doi = {10.4230/LIPIcs.ECOOP.2017.18}, annote = {Keywords: type checking, co-contextual, constraints, class table, Featherweight Java} } @InProceedings{mayer_et_al:LIPIcs.ECOOP.2017.19, author = {Mayer, Mika\"{e}l and Hamza, Jad and Kuncak, Viktor}, title = {{Proactive Synthesis of Recursive Tree-to-String Functions from Examples}}, booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)}, pages = {19:1--19:30}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-035-4}, ISSN = {1868-8969}, year = {2017}, volume = {74}, editor = {M\"{u}ller, Peter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2017.19}, URN = {urn:nbn:de:0030-drops-72575}, doi = {10.4230/LIPIcs.ECOOP.2017.19}, annote = {Keywords: programming by example, active learning, program synthesis} } @InProceedings{melicher_et_al:LIPIcs.ECOOP.2017.20, author = {Melicher, Darya and Shi, Yangqingwei and Potanin, Alex and Aldrich, Jonathan}, title = {{A Capability-Based Module System for Authority Control}}, booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)}, pages = {20:1--20:27}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-035-4}, ISSN = {1868-8969}, year = {2017}, volume = {74}, editor = {M\"{u}ller, Peter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2017.20}, URN = {urn:nbn:de:0030-drops-72709}, doi = {10.4230/LIPIcs.ECOOP.2017.20}, annote = {Keywords: Language-based security, capabilities, authority, modules} } @InProceedings{petricek:LIPIcs.ECOOP.2017.21, author = {Petricek, Tomas}, title = {{Data Exploration through Dot-driven Development}}, booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)}, pages = {21:1--21:27}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-035-4}, ISSN = {1868-8969}, year = {2017}, volume = {74}, editor = {M\"{u}ller, Peter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2017.21}, URN = {urn:nbn:de:0030-drops-72610}, doi = {10.4230/LIPIcs.ECOOP.2017.21}, annote = {Keywords: Data science, type providers, pivot tables, aggregation} } @InProceedings{podkopaev_et_al:LIPIcs.ECOOP.2017.22, author = {Podkopaev, Anton and Lahav, Ori and Vafeiadis, Viktor}, title = {{Promising Compilation to ARMv8 POP}}, booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)}, pages = {22:1--22:28}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-035-4}, ISSN = {1868-8969}, year = {2017}, volume = {74}, editor = {M\"{u}ller, Peter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2017.22}, URN = {urn:nbn:de:0030-drops-72667}, doi = {10.4230/LIPIcs.ECOOP.2017.22}, annote = {Keywords: ARM, Compilation Correctness, Weak Memory Model} } @InProceedings{saleil_et_al:LIPIcs.ECOOP.2017.23, author = {Saleil, Baptiste and Feeley, Marc}, title = {{Interprocedural Specialization of Higher-Order Dynamic Languages Without Static Analysis}}, booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)}, pages = {23:1--23:23}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-035-4}, ISSN = {1868-8969}, year = {2017}, volume = {74}, editor = {M\"{u}ller, Peter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2017.23}, URN = {urn:nbn:de:0030-drops-72711}, doi = {10.4230/LIPIcs.ECOOP.2017.23}, annote = {Keywords: Just-in-time compilation, Interprocedural optimization, Dynamic language, Higher-order function, Scheme} } @InProceedings{scalas_et_al:LIPIcs.ECOOP.2017.24, author = {Scalas, Alceste and Dardha, Ornela and Hu, Raymond and Yoshida, Nobuko}, title = {{A Linear Decomposition of Multiparty Sessions for Safe Distributed Programming}}, booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)}, pages = {24:1--24:31}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-035-4}, ISSN = {1868-8969}, year = {2017}, volume = {74}, editor = {M\"{u}ller, Peter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2017.24}, URN = {urn:nbn:de:0030-drops-72637}, doi = {10.4230/LIPIcs.ECOOP.2017.24}, annote = {Keywords: process calculi, session types, concurrent programming, Scala} } @InProceedings{stievenart_et_al:LIPIcs.ECOOP.2017.25, author = {Sti\'{e}venart, Quentin and Nicolay, Jens and De Meuter, Wolfgang and De Roover, Coen}, title = {{Mailbox Abstractions for Static Analysis of Actor Programs}}, booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)}, pages = {25:1--25:30}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-035-4}, ISSN = {1868-8969}, year = {2017}, volume = {74}, editor = {M\"{u}ller, Peter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2017.25}, URN = {urn:nbn:de:0030-drops-72541}, doi = {10.4230/LIPIcs.ECOOP.2017.25}, annote = {Keywords: static analysis, abstraction, abstract interpretation, actors, mailbox} } @InProceedings{vollmer_et_al:LIPIcs.ECOOP.2017.26, author = {Vollmer, Michael and Spall, Sarah and Chamith, Buddhika and Sakka, Laith and Koparkar, Chaitanya and Kulkarni, Milind and Tobin-Hochstadt, Sam and Newton, Ryan R.}, title = {{Compiling Tree Transforms to Operate on Packed Representations}}, booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)}, pages = {26:1--26:29}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-035-4}, ISSN = {1868-8969}, year = {2017}, volume = {74}, editor = {M\"{u}ller, Peter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2017.26}, URN = {urn:nbn:de:0030-drops-72737}, doi = {10.4230/LIPIcs.ECOOP.2017.26}, annote = {Keywords: compiler optimization, program transformation, tree traversal} } @InProceedings{wang_et_al:LIPIcs.ECOOP.2017.27, author = {Wang, Fei and Rompf, Tiark}, title = {{Towards Strong Normalization for Dependent Object Types (DOT)}}, booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)}, pages = {27:1--27:25}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-035-4}, ISSN = {1868-8969}, year = {2017}, volume = {74}, editor = {M\"{u}ller, Peter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2017.27}, URN = {urn:nbn:de:0030-drops-72763}, doi = {10.4230/LIPIcs.ECOOP.2017.27}, annote = {Keywords: Scala, DOT, strong normalization, logical relations, recursive types} } @InProceedings{williams_et_al:LIPIcs.ECOOP.2017.28, author = {Williams, Jack and Morris, J. Garrett and Wadler, Philip and Zalewski, Jakub}, title = {{Mixed Messages: Measuring Conformance and Non-Interference in TypeScript}}, booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)}, pages = {28:1--28:29}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-035-4}, ISSN = {1868-8969}, year = {2017}, volume = {74}, editor = {M\"{u}ller, Peter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2017.28}, URN = {urn:nbn:de:0030-drops-72640}, doi = {10.4230/LIPIcs.ECOOP.2017.28}, annote = {Keywords: Gradual Typing, TypeScript, JavaScript, Proxies} } @InProceedings{zhang_et_al:LIPIcs.ECOOP.2017.29, author = {Zhang, Weixin and Oliveira, Bruno C. d. S.}, title = {{EVF: An Extensible and Expressive Visitor Framework for Programming Language Reuse}}, booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)}, pages = {29:1--29:32}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-035-4}, ISSN = {1868-8969}, year = {2017}, volume = {74}, editor = {M\"{u}ller, Peter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2017.29}, URN = {urn:nbn:de:0030-drops-72749}, doi = {10.4230/LIPIcs.ECOOP.2017.29}, annote = {Keywords: Visitor Pattern, Object Algebras, Modularity, Domain-Specific Languages} } @InProceedings{zheng_et_al:LIPIcs.ECOOP.2017.30, author = {Zheng, Yudi and Bulej, Lubom{\'\i}r and Binder, Walter}, title = {{An Empirical Study on Deoptimization in the Graal Compiler}}, booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)}, pages = {30:1--30:30}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-035-4}, ISSN = {1868-8969}, year = {2017}, volume = {74}, editor = {M\"{u}ller, Peter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2017.30}, URN = {urn:nbn:de:0030-drops-72583}, doi = {10.4230/LIPIcs.ECOOP.2017.30}, annote = {Keywords: dynamic compiler, profile-guided optimization, deoptimization} }