Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Johan Dovland

dblp:22/5956 · DBLP profile ↗
← Back
8ranked-venue papers
4as first author
0since 2021 · last 2014
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 7 · 4 first-authorTheory of computation · 3 · 2 first-authorArtificial intelligence and machine learning · 1Applied, interdisciplinary, general and emerging computing · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
1 paper
Programming languages and type systems · 100%

Topics — the 2 heaviest of 2, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Programming languages and type systems › type systems › subtyping
behavioral subtyping
0.112008
Lazy Behavioral Subtyping · FM 2008
Programming languages and type systems › specification language
specification inheritance
0.012008
Lazy Behavioral Subtyping · FM 2008
YearPublicationVenuePosition
2014 Verifying traits: an incremental proof system for fine-grained reuse
abstract
Abstract Traits have been proposed as a more flexible mechanism than class inheritance for structuring code in object-oriented programming, to achieve fine-grained code reuse. A trait originally developed for one purpose can be adapted and reused in a completely different context. Formalizations of traits have been extensively studied, and implementations of traits have started to appear in programming languages. So far, work on formally establishing properties of trait-based programs has mostly concentrated on type systems. This paper presents the first deductive proof system for a trait-based object-oriented language. If a specification of a trait can be given a priori, covering all actual usage of that trait, our proof system is modular as each trait is analyzed only once. However, imposing such a restriction may in many cases unnecessarily limit traits as a mechanism for flexible code reuse. In order to reflect the flexible reuse potential of traits, our proof system additionally allows new specifications to be added to a trait in anincrementalway which does not violate established proofs. We formalize and show the soundness of the proof system.
Ferruccio Damiani, Johan Dovland, Einar Broch Johnsen, Ina Schaefer
Formal Aspects Comput.2
2012 Tracking Behavioral Constraints during Object-Oriented Software Evolution
Johan Dovland, Einar Broch Johnsen, Ingrid Chieh Yu
ISoLA (1)1
2012 Compositional Reasoning about Shared Futures
Crystal Chang Din, Johan Dovland, Olaf Owe
SEFM2
2012 A transformational proof system for delta-oriented programming
abstract
Delta-oriented programming is a modular, yet flexible technique to implement software product lines. To efficiently verify the specifications of all possible product variants of a product line, it is usually infeasible to generate all product variants and to verify them individually. To counter this problem, we propose a transformational proof system in which the specifications in a delta module describe changes to previous specifications. Our approach allows each delta module to be verified in isolation, based on symbolic assumptions for calls to methods which may be in other delta modules. When product variants are generated from delta modules, these assumptions are instantiated by the actual guarantees of the methods in the considered product variant and used to derive the specifications of this product variant.
Ferruccio Damiani, Olaf Owe, Johan Dovland, Ina Schaefer, Einar Broch Johnsen, Ingrid Chieh Yu
SPLC (2)3
2011 Verifying traits: a proof system for fine-grained reuse
abstract
Traits have been proposed as a more flexible mechanism for code structuring in object-oriented programming than class inheritance, for achieving fine-grained code reuse. A trait originally developed for one purpose can be modified and reused in a completely different context. Formalizations of traits have been extensively studied, and implementations of traits have started to appear in programming languages. However, work on formally establishing properties of trait-based programs has so far mostly concentrated on type systems. This paper proposes the first deductive proof system for a trait-based object-oriented language. If a specification for a trait can be given a priori, covering all actual usage of that trait, our proof system is modular as each trait is analyzed only once. In order to reflect the flexible reuse potential of traits, our proof system additionally allows new specifications to be added to a trait in an incremental way which does not violate established proofs. We formalize and show the soundness of the proof system.
Ferruccio Damiani, Johan Dovland, Einar Broch Johnsen, Ina Schaefer
FTfJP@ECOOP2
2011 Incremental reasoning with lazy behavioral subtyping for multiple inheritance
Johan Dovland, Einar Broch Johnsen, Olaf Owe, Martin Steffen
Sci. Comput. Program.1
2009 Incremental Reasoning for Multiple Inheritance
Johan Dovland, Einar Broch Johnsen, Olaf Owe, Martin Steffen
IFM1
2008 Lazy Behavioral Subtyping
Johan Dovland, Einar Broch Johnsen, Olaf Owe, Martin Steffen
FM1