h - Castagna, Giuseppe; SpringerLink (Online service) (Berlin, Heidelberg : Springer Berlin Heidelberg : Imprint: Springer, 2013)
This book constitutes the proceedings of the 27th European Conference on Object-Oriented Programming, ECOOP 2013, held in Montpellier, France, in July 2013. The 29 papers presented in this volume were carefully reviewed and selected from 116 submissions. They are organized in topical sections on aspects, components, and modularity; types; language design; concurrency, parallelism, and distribution; analysis and verification; modelling and refactoring; testing, profiling, and empirical studies; and implementation.
Aspects, Components, and Modularity -- CoCo: Sound and Adaptive Replacement of Java Collections -- Feature-Oriented Programming with Object Algebras -- Composition and Reuse with Compiled Domain-Specific Languages -- Types -- Combining Form and Function: Static Types for JQuery Programs -- Heap Decomposition Inference with Linear Programming -- A Formal Semantics for Isorecursive and Equirecursive State Abstractions -- Language Design -- Trustworthy Proxies: Virtualizing Objects with Invariants -- JavaUI: Effects for Controlling UI Object Access -- The Billion-Dollar Fix: Safe Modular Circular Initialisation with Placeholders and Placeholder Types -- Concurrency, Parallelism, and Distribution -- Implementing Federated Object Systems -- RedCard: Redundant Check Elimination for Dynamic Race Detectors -- Ownership-Based Isolation for Concurrent Actors on Multi-core Machines -- Why Do Scala Developers Mix the Actor Model with other Concurrency Models? -- Analysis and Verification -- Joins: A Case Study in Modular Specification of a Concurrent Reentrant Higher-Order Library -- Enabling Modularity and Re-use in Dynamic Program Analysis Tools for the Java Virtual Machine -- Averroes: Whole-Program Analysis without the Whole Program -- QUIC Graphs: Relational Invariant Generation for Containers -- Reducing Lookups for Invariant Checking -- Verification Condition Generation for Permission Logics with Abstract Predicates and Abstraction Functions -- Modelling and Refactoring -- Really Automatic Scalable Object-Oriented Reengineering -- Detecting Refactored Clones -- A Compositional Paradigm of Automating Refactorings -- A Comparative Study of Manual and Automated Refactorings -- Testing, Profiling, and Empirical Studies -- What Programmers Do with Inheritance in Java -- Is This a Bug or an Obsolete Test? -- Systematic Testing of Refactoring Engines on Real Software Projects -- Implementation -- Simple Profile Rectifications Go a Long Way: Statistically Exploring and Alleviating the Effects of Sampling Errors for Program Optimizations -- The Shape of Things to Run: Compiling Complex Stream Graphs to Reconfigurable Hardware in Lime -- Higher-Order Reactive Programming with Incremental Lists.
Keywords: Computer science; Computer Communication Networks; Software engineering; Logic design; Computer Science; Programming Techniques; Software Engineering; Programming Languages, Compilers, Interpreters; Logics and Meanings of Programs; Mathematical Logic and Formal Languages; Computer Communication Networks