Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Vilhelm Sjöberg is active.

Publication


Featured researches published by Vilhelm Sjöberg.


computer and communications security | 2009

Reactive noninterference

Aaron Bohannon; Benjamin C. Pierce; Vilhelm Sjöberg; Stephanie Weirich; Steve Zdancewic

Many programs operate reactively--patiently waiting for user input, running for a while producing output, and eventually returning to a state where they are ready to accept another input (or occasionally diverging). When a reactive program communicates with multiple parties, we would like to be sure that it can be given secret information by one without leaking it to others. Motivated by web browsers and client-side web applications, we explore definitions of noninterference for reactive programs and identify two of special interest--one corresponding to termination-insensitive noninterference for a simple sequential language, the other to termination-sensitive noninterference. We focus on the former and develop a proof technique for showing that program behaviors are secure according to this definition. To demonstrate the viability of the approach, we define a simple reactive language with an information-flow type system and apply our proof technique to show that well-typed programs are secure.


symposium on principles of programming languages | 2010

Dependent types and program equivalence

Limin Jia; Jianzhou Zhao; Vilhelm Sjöberg; Stephanie Weirich

The definition of type equivalence is one of the most important design issues for any typed language. In dependently typed languages, because terms appear in types, this definition must rely on a definition of term equivalence. In that case, decidability of type checking requires decidability for the term equivalence relation. Almost all dependently-typed languages require this relation to be decidable. Some, such as Coq, Epigram or Agda, do so by employing analyses to force all programs to terminate. Conversely, others, such as DML, ATS, Ωmega, or Haskell, allow nonterminating computation, but do not allow those terms to appear in types. Instead, they identify a terminating index language and use singleton types to connect indices to computation. In both cases, decidable type checking comes at a cost, in terms of complexity and expressiveness. Conversely, the benefits to be gained by decidable type checking are modest. Termination analyses allow dependently typed programs to verify total correctness properties. However, decidable type checking is not a prerequisite for type safety. Furthermore, decidability does not imply tractability. A decidable approximation of program equivalence may not be useful in practice. Therefore, we take a different approach: instead of a fixed notion for term equivalence, we parameterize our type system with an abstract relation that is not necessarily decidable. We then design a novel set of typing rules that require only weak properties of this abstract relation in the proof of the preservation and progress lemmas. This design provides flexibility: we compare valid instantiations of term equivalence which range from beta-equivalence, to contextual equivalence, to some exotic equivalences.


4th Workshop on Mathematically Structured Functional Programming, MSFP 2012 | 2012

Irrelevance, Heterogeneous Equality, and Call-by-value Dependent Type Systems

Vilhelm Sjöberg; Chris Casinghino; Ki Yung Ahn; Nathan Collins; Harley D. Eades; Peng Fu; Garrin Kimmell; Tim Sheard; Aaron Stump; Stephanie Weirich

We present a full-spectrum dependently typed core language which includes both nontermination and computational irrelevance (a.k.a. erasure), a combination which has not been studied before. The two features interact: to protect type safety we must be careful to only erase terminating expressions. Our language design is strongly influenced by the choice of CBV evaluation, and by our novel treatment of propositional equality which has a heterogeneous, completely erased elimination form.


MSFP | 2012

Step-Indexed Normalization for a Language with General Recursion

Chris Cainghino; Vilhelm Sjöberg; Stephanie Weirich

The TRELLYS project has produced several designs for practical dependently typed languages. These languages are broken into two fragments—a logical fragment where every term normalizes and which is consistent when interpreted as a logic, and a programmatic fragment with general recursion and other convenient but unsound features. In this paper, we present a small example language in this style. Our design allows the programmer to explicitly mention and pass information between the two fragments. We show that this feature substantially complicates the metatheory and present a new technique, combining the traditional Girard‐Tait method with step-indexed logical relations, which we use to show normalization for the logical fragment.


ITRS | 2010

Equality, Quasi-Implicit Products, and Large Eliminations

Vilhelm Sjöberg; Aaron Stump

This paper presents a type theory with a form of equality reflection: provable equalities can be used to coerce the type of a term. Coercions and other annotations, including implicit arguments, are dropped during reduction of terms. We develop the metatheory for an undecidable version of the system with unannotated terms. We then devise a decidable system with annotated terms, justified in terms of the unannotated system. Finally, we show how the approach can be extended to account for large eliminations, using what we call quasi-implicit products.


symposium on principles of programming languages | 2014

Combining proofs and programs in a dependently typed language

Chris Casinghino; Vilhelm Sjöberg; Stephanie Weirich


symposium on principles of programming languages | 2015

Programming up to Congruence

Vilhelm Sjöberg; Stephanie Weirich


PAR@ITP | 2010

Termination Casts: A Flexible Approach to Termination with General Recursion

Aaron Stump; Vilhelm Sjöberg; Stephanie Weirich


programming languages meets program verification | 2012

Dependent interoperability

Peter-Michael Osera; Vilhelm Sjöberg; Steve Zdancewic


Progress in Informatics | 2013

Equational reasoning about programs with general recursion and call-by-value semantics

Garrin Kimmell; Aaron Stump; Harley D. Eades; Peng Fu; Tim Sheard; Stephanie Weirich; Chris Casinghino; Vilhelm Sjöberg; Nathan Collins; Ki Yung Ahn

Collaboration


Dive into the Vilhelm Sjöberg's collaboration.

Top Co-Authors

Avatar

Stephanie Weirich

University of Pennsylvania

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Chris Casinghino

University of Pennsylvania

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Ki Yung Ahn

Portland State University

View shared research outputs
Top Co-Authors

Avatar

Nathan Collins

Portland State University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Steve Zdancewic

University of Pennsylvania

View shared research outputs
Top Co-Authors

Avatar

Tim Sheard

Portland State University

View shared research outputs
Researchain Logo
Decentralizing Knowledge