Auflistung nach Autor:in "Thiemann, Peter"
1 - 5 von 5
Treffer pro Seite
Sortieroptionen
- KonferenzbeitragGradual typing for annotated type systems(Software-engineering and management 2015, 2015) Fennell, Luminous; Thiemann, PeterRefinement type systems have been proposed by a number of researchers to sharpen the guarantees of existing type systems. Examples are systems that distinguish empty and non-empty lists by type, taint tracking and information flow control, dimension analysis, and many others. In each case, the type language is extended with annotations that either abstract semantic properties of values beyond the capabilities of the underlying type language (e.g., empty and non-empty lists) or they express extrinsic properties that are not locally checkable (e.g., taintedness, dimensions).
- KonferenzbeitragStatic analysis of the frequency of change(Informatik 2004, Informatik verbindet, Band 2, Beiträge der 34. Jahrestagung der Gesellschaft für Informatik e.V. (GI), 2004) Thiemann, PeterA frequency analysis assigns to each program value an upper bound on its change frequency. We define such an analysis and prove its correctness with respect to a denotational semantics of a tiny web programming language. We sketch its use for specializing web pages.
- KonferenzbeitragTransparent object proxies for javascript(Software Engineering 2016, 2016) Keil, Matthias; Guria, Sankha Narayan; Schlegel, Andreas; Geffken, Manuel; Thiemann, PeterThis work appeared in the conference proceedings of the European Conference on Object-Oriented Programming, ECOOP 2015. One important question in the design of a proxy API is whether a proxy object should inherit the identity of its target. Apparently proxies should have their own identity for security-related applications whereas other applications, in particular contract systems, require transparent proxies that compare equal to their target objects. In this work we examine the issue with transparency in various use cases for proxies, discuss different approaches to obtain transparency, and propose two designs that require modest modifications in the JavaScript engine and cannot be bypassed by the programmer. The JavaScript Proxy API embodies a design decision that reveals the presence of proxies in some important use cases. This decision concerns object equality. Proxies are opaque, which means that each proxy has its own identity, different from all other (proxy or nonproxy) objects. Given opaque proxies, an equality test can be used to distinguish a proxy from its target as demonstrated in the following example:
- KonferenzbeitragTrue lies: Lazy contracts for lazy languages – Faithfulness is better than laziness(Informatik 2009 – Im Focus das Leben, 2009) Degen, Markus; Thiemann, Peter; Wehr, Stefan
- ZeitschriftenartikelWaitomo, eine Interface-orientierte Programmiersprache(Softwaretechnik-Trends Band 26, Heft 2, 2006) Thiemann, Peter; Wehr, Stefan