FHJ: A Formal Model for Hierarchical Dispatching and OverridingECOOP paper
Multiple inheritance is a valuable feature for Object-Oriented Programming. However, it is also tricky to get right, as illustrated by the extensive literature on the topic. A key issue is the ambiguity arising from inheriting multiple parents, which can have conflicting methods. Numerous existing work provides solutions for conflicts which arise from diamond inheritance: i.e. conflicts that arise from implementations sharing a common ancestor. However, most mechanisms are inadequate to deal with unintentional method conflicts: conflicts which arise from two unrelated methods that happen to share the same name and signature. This paper presents a new model called Featherweight Hierarchical Java (FHJ) that deals with unintentional method conflicts. In our new model, which is partly inspired by C++, conflicting methods arising from unrelated methods can coexist in the same class, and hierarchical dispatching supports unambiguous lookups in the presence of such conflicting methods. To avoid ambiguity, hierarchical information is employed in method dispatching, which uses a combination of static and dynamic type information to choose the implementation of a method at run-time. Furthermore, unlike all existing inheritance models, our model supports hierarchical method overriding: that is, methods can be independently overridden along the multiple inheritance hierarchy. We give illustrative examples of our language and features and formalize FHJ as a minimal Featherweight-Java style calculus.
Wed 18 Jul Times are displayed in 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 DoPaderborn University | |||
17:00 - 20:00 Poster | Typed First-Class TraitsECOOP paper ECOOP and ISSTA Posters | ||
17:00 - 20:00 Poster | PerfFuzz: Automatically Generating Pathological InputsISSTA paper ECOOP and ISSTA Posters Caroline LemieuxUniversity of California, Berkeley, Rohan PadhyeUniversity of California, Berkeley, Koushik SenUniversity of California, Berkeley, Dawn Song | ||
17:00 - 20:00 Poster | Feature Visualiser: an Inspection Tool for Programmers in Context-Oriented ProgrammingCOP paper ECOOP and ISSTA Posters Benoît DuhouxUniversité catholique de Louvain, Belgium, Kim MensUniversité Catholique de Louvain, Belgium, Bruno Dumas | ||
17:00 - 20:00 Poster | Bench4BL: Reproducibility Study on the Performance of IR-Based Bug LocalizationISSTA paper ECOOP and ISSTA Posters Jaekwon LeeUniversity of Luxembourg, Luxembourg, Dongsun KimUniversity of Luxembourg, Tegawendé F. BissyandéUniversity of Luxembourg, Luxembourg, Woosung JungSeoul National University of Education, Yves Le TraonUniversity of Luxembourg | ||
17:00 - 20:00 Poster | Targeted Test Generation for Actor SystemsECOOP paper ECOOP and ISSTA Posters Sihan Li, Farah HaririUniversity of Illinois at Urbana-Champaign, Gul AghaUniversity of Illinois at Urbana-Champaign, USA | ||
17:00 - 20:00 Poster | Leveraging Electromagnetic Side-Channel Attacks for Digital ForensicsWoSSCA talk ECOOP and ISSTA Posters Asanka SayakkaraUniversity College Dublin, Nhien-An Le-KhacUniversity College Dublin, Mark ScanlonUniversity College Dublin | ||
17:00 - 20:00 Poster | Practical Detection of Concurrency Issues at Coding TimeISSTA paper ECOOP and ISSTA Posters Luc BläserHochschule für Technik Rapperswil | ||
17:00 - 20:00 Poster | Defensive Points-To Analysis: Effective Soundness via LazinessECOOP paper ECOOP and ISSTA Posters | ||
17:00 - 20:00 Poster | Shaping Program Repair Space with Existing Patches and Similar CodeISSTA paper ECOOP and ISSTA Posters Jiajun JiangPeking University, Yingfei XiongPeking University, Hongyu ZhangThe University of Newcastle, Qing GaoPeking University, Xiangqun ChenPeking University | ||
17:00 - 20:00 Poster | Type Regression Testing to Detect Breaking Changes in Node.js LibrariesECOOP paper ECOOP and ISSTA Posters Gianluca MezzettiAarhus University, Denmark, Anders MøllerAarhus University, Martin Toldam TorpAarhus University | ||
17:00 - 20:00 Poster | Test Case Prioritization for Acceptance Testing of Cyber Physical Systems: A Multi-objective Search-based ApproachISSTA paper ECOOP and ISSTA Posters Seung Yeob ShinSnT Centre/University of Luxembourg, Shiva NejatiSnT Centre/University of Luxembourg, Mehrdad SabetzadehSnT Centre/University of Luxembourg, Lionel BriandSnT Centre/University of Luxembourg, Frank ZimmerSES Techcom | ||
17:00 - 20:00 Poster | Making Data-Driven Porting Decisions with TuscanISSTA paper ECOOP and ISSTA Posters | ||
17:00 - 20:00 Poster | Advances in the ANaConDA Framework ECOOP and ISSTA Posters Jan FiedorBrno University of Technology, Monika MužikovskáBrno University of Technology, Aleš SmrčkaBrno University of Technology, Ondřej VašíčekBrno University of Technology, Tomáš VojnarBrno University of Technology | ||
17:00 - 20:00 Poster | Automated End To End Testing of Single Page Web ApplicationsDoctoral symposium paper ECOOP and ISSTA Posters Matteo BiagiolaFondazione Bruno Kessler, Trento, Italy, Paolo TonellaFondazione Bruno Kessler, Filippo RiccaDIBRIS, University of Genova, Italy | ||
17:00 - 20:00 Poster | A Characteristic Study of Parameterized Unit Tests in .NET Open Source ProjectsECOOP paper ECOOP and ISSTA Posters Wing LamUniversity of Illinois at Urbana-Champaign, Siwakorn SrisakaokulUniversity of Illinois at Urbana-Champaign, USA, Blake BassettUniversity of Illinois at Urbana-Champaign, USA, Peyman MahdianUniversity of Illinois at Urbana-Champaign, USA, Tao Xie | ||
17:00 - 20:00 Poster | Shooting from the Heap: Ultra-Scalable Static Analysis with Heap SnapshotsISSTA paper ECOOP and ISSTA Posters Neville GrechUniversity of Athens, George FourtounisUniversity of Athens, Adrian FrancalanzaUniversity of Malta, Yannis SmaragdakisUniversity of Athens | ||
17:00 - 20:00 Poster | ThingsMigrate: Platform-Independent Migration of Stateful JavaScript IoT Applications ECOOP and ISSTA Posters Julien Gascon-Samson, Kumseok JungUniversity of British Columbia, Shivanshu GoyalUniversity of British Columbia, Armin Rezaiean-AselUniversity of British Columbia, Karthik PattabiramanUniversity of British Columbia | ||
17:00 - 20:00 Poster | Polyglot Programming - Opportunities of Language Implementation Frameworks for Software Developers ECOOP and ISSTA Posters Fabio NiephausHasso Plattner Institute, University of Potsdam, Robert HirschfeldHPI, University of Potsdam | ||
17:00 - 20:00 Poster | OASIs: Oracle Assessment and Improvement Tool ECOOP and ISSTA Posters Gunel JahangirovaFondazione Bruno Kessler & University College London, David ClarkUniversity College London, Mark HarmanFacebook and University College London, Paolo TonellaFondazione Bruno Kessler | ||
17:00 - 20:00 Poster | Deep Learning over CodeISSTA paper ECOOP and ISSTA Posters Chris CumminsUniversity of Edinburgh, Pavlos PetoumenosUniversity of Edinburgh, Alastair MurrayCodeplay Software, Hugh LeatherUniversity of Edinburgh | ||
17:00 - 20:00 Poster | Translating Code Comments to Procedure SpecificationsISSTA paper ECOOP and ISSTA Posters Arianna BlasiUniversità della Svizzera italiana (USI) and IMDEA Software Institute, Alberto GoffiUniversità della Svizzera italiana (USI), Konstantin KuznetsovSaarland University, CISPA, Alessandra GorlaIMDEA Software Institute, Michael D. ErnstUniversity of Washington, USA, Mauro PezzeUniversità della Svizzera italiana (USI) and Università degli Studi di Milano Bicocca, Sergio Delgado CastellanosIMDEA Software Institute | ||
17:00 - 20:00 Poster | Transparent Static Analysis for the Detection of Security VulnerabilitiesDoctoral symposium paper ECOOP and ISSTA Posters Goran PiskachevFraunhofer IEM | ||
17:00 - 20:00 Poster | Symbolic Path Cost Analysis for Side-Channel DetectionISSTA paper ECOOP and ISSTA Posters Tegan Brennan, Seemanta SahaUniversity of California Santa Barbara, Tevfik BultanUniversity of California, Santa Barbara, Corina S PasareanuNASA Ames Research Center | ||
17:00 - 20:00 Poster | FHJ: A Formal Model for Hierarchical Dispatching and OverridingECOOP paper ECOOP and ISSTA Posters Yanlin WangUniversity of Hong Kong, Haoyuan Zhang, Bruno C. d. S. OliveiraUniversity of Hong Kong, China, Marco ServettoVictoria University of Wellington | ||
17:00 - 20:00 Poster | Incrementalizing Lattice-Based Program AnalysesFTfJP paper ECOOP and ISSTA Posters | ||
17:00 - 20:00 Poster | Secure integration of cryptographic software ECOOP and ISSTA Posters Stefan KrügerUniversity of Paderborn, Eric BoddenHeinz Nixdorf Institut, Paderborn University and Fraunhofer IEM | ||
17:00 - 20:00 Poster | Analyzing the Analyzers: FlowDroid/IccTA, AmanDroid, and DroidSafeISSTA paper ECOOP and ISSTA Posters | ||
17:00 - 20:00 Poster | Badger: Complexity Analysis with Fuzzing and Symbolic ExecutionISSTA paper ECOOP and ISSTA Posters Yannic NollerHumboldt-Universität zu Berlin, Rody KerstenSynopsys, Inc., Corina S PasareanuNASA Ames Research Center | ||
17:00 - 20:00 Poster | Efficient Reflection String Analysis via Graph ColoringECOOP paper ECOOP and ISSTA Posters Neville GrechUniversity of Athens, George KastrinisUniversity of Athens, Yannis SmaragdakisUniversity of Athens | ||
17:00 - 20:00 Poster | Tests from Traces: Automated Unit Test Extraction for RISSTA paper ECOOP and ISSTA Posters | ||
17:00 - 20:00 Poster | CiD: Automating the Detection of API-related Compatibility Issues in Android AppsISSTA paper ECOOP and ISSTA Posters Li LiMonash University, Australia, Tegawendé F. BissyandéUniversity of Luxembourg, Luxembourg, Haoyu Wang, Jacques KleinUniversity of Luxembourg, SnT | ||
17:00 - 20:00 Poster | Modelling infinite behaviour by corulesECOOP paper ECOOP and ISSTA Posters Davide AnconaUniversity of Genova, Francesco DagninoDIBRIS, University of Genova, Italy, Elena ZuccaUniversity of Genova | ||
17:00 - 20:00 Poster | Towards a Framework for Detecting Energy Drain in Mobile Applications - An Architecture OverviewSOAP paper ECOOP and ISSTA Posters Andreas SchulerUniversity of Applied Sciences Upper Austria, Gabriele Anderst-KotsisJohannes Kepler University, Linz, Austria | ||
17:00 - 20:00 Poster | Learning to Accelerate Symbolic Execution via Code TransformationECOOP paper ECOOP and ISSTA Posters Junjie ChenPeking University, Wenxiang HuPeking University, Lingming Zhang, Dan HaoPeking University, Sarfraz KhurshidUniversity of Texas at Austin, Lu ZhangPeking University | ||
17:00 - 20:00 Poster | Distributed Multitier Programming with Placement Types using ScalaLociFTfJP paper ECOOP and ISSTA Posters | ||
17:00 - 20:00 Poster | SHAPES: Adding memory layouts and SIMD capabilities to high-level languagesICOOOLPS paper ECOOP and ISSTA Posters Juliana FrancoMicrosoft Research, Cambridge, Alexandros TasosImperial College London, Sophia DrossopoulouImperial College London, Tobias WrigstadUppsala University, Susan EisenbachImperial College London | ||
17:00 - 20:00 Poster | Automating Object Transformations for Dynamic Software Updating via Online Execution SynthesisECOOP paper ECOOP and ISSTA Posters Tianxiao Gu, Xiaoxing MaNanjing University, Chang XuNanjing University, Yanyan JiangNanjing University, Chun CaoNanjing University, Jian LuNanjing University | ||
17:00 - 20:00 Poster | Theory and Practice of Coroutines with SnapshotsECOOP paper ECOOP and ISSTA Posters | ||
17:00 - 20:00 Poster | Fault-tolerant Distributed Reactive ProgrammingECOOP paper ECOOP and ISSTA Posters Ragnar MogkTechnische Universität Darmstadt, Lars BaumgärtnerPhilipps-Universität Marburg, Guido SalvaneschiTU Darmstadt, Bernd FreislebenPhilipps-Universität Marburg, Mira MeziniTU Darmstadt | ||
17:00 - 20:00 Poster | A Portable Framework for Multi-core Interference Tuning and AnalysisDoctoral symposium paper ECOOP and ISSTA Posters | ||
17:00 - 20:00 Poster | Probabilistic Software ModelingDoctoral symposium paper ECOOP and ISSTA Posters Hannes ThallerInstitute for Software Systems Engineering, Johannes Kepler University, Linz | ||
17:00 - 20:00 Demonstration | Mutode: Generic JavaScript and Node.js Mutation Testing Tool ECOOP and ISSTA Posters Diego Rodríguez-BaqueroUniversidad de los Andes, Mario Linares-VásquezSystems and Computing Engineering Department , Universidad de los Andes , Bogotá, Colombia | ||
17:00 - 20:00 Poster | CROCHET: Checkpoint and Rollback via Lightweight Heap Traversal on Stock JVMsECOOP paper ECOOP and ISSTA Posters Media Attached | ||
17:00 - 20:00 Poster | Testing for Performance Issues in OS KernelsDoctoral symposium paper ECOOP and ISSTA Posters | ||
17:00 - 20:00 Poster | The Essence of Nested CompositionECOOP paper ECOOP and ISSTA Posters Xuan BiThe University of Hong Kong, Bruno C. d. S. OliveiraUniversity of Hong Kong, China, Tom SchrijversKU Leuven | ||
17:00 - 20:00 Poster | Generating software adaptations using machine learningML4PL talk ECOOP and ISSTA Posters | ||
17:00 - 20:00 Poster | Automatically Translating Bug Reports into Test Cases for Mobile AppsISSTA paper ECOOP and ISSTA Posters Mattia FazziniGeorgia Institute of Technology, Martin PrammerGeorgia Institute of Technology, Marcelo d'AmorimFederal University of Pernambuco, Alessandro OrsoGeorgia Tech | ||
17:00 - 20:00 Poster | Repositioning of Static Analysis AlarmsISSTA paper ECOOP and ISSTA Posters Tukaram MuskeTata Consultancy Services Ltd, Rohith TalluriTata Consultancy Services Ltd, Alexander SerebrenikEindhoven University of Technology |