- Logic, programming, and type systems
- Distributed systems and fault tolerance
- Security and Verification in Computing
- Advanced Software Engineering Methodologies
- Formal Methods in Verification
- Service-Oriented Architecture and Web Services
- Parallel Computing and Optimization Techniques
- Advanced Malware Detection Techniques
- Software Engineering Research
- Model-Driven Software Engineering Techniques
- Privacy, Security, and Data Protection
- Logic, Reasoning, and Knowledge
- Distributed and Parallel Computing Systems
- Petri Nets in System Modeling
- Business Process Modeling and Analysis
- Access Control and Trust
- Privacy-Preserving Technologies in Data
- Advanced Database Systems and Queries
- linguistics and terminology studies
- Advanced Data Storage Technologies
- Software System Performance and Reliability
- Scientific Computing and Data Management
- Nursing education and management
- Internet Traffic Analysis and Secure E-voting
- Semantic Web and Ontologies
Stantec (United States)
2024
NewGen Therapeutics (United States)
2022
Central Laser Facility
2022
Centro Laser
2022
Marine Institute
2022
Uppsala University
2013-2019
KU Leuven
2009-2016
iMinds
2013-2015
Information Technology University
2015
University of Oslo
2012
Ownership types provide a statically enforceable notion of object-level encapsulation. We extend ownership with computational effects to support reasoning about object-oriented programs. The ensuing system provides both access control and reporting. Based on this type system, we codify two formal systems for aliasing the disjointness effects. first can be used prove that evaluation expressions will never lead aliases, while latter show non-interference expressions.
A fully abstract compiler prevents security features of the source language from being bypassed by an attacker operating at target level. Unfortunately, developing compilers is very complex, and it even more so when untyped assembly language. To provide a that targets assembly, has been suggested to extend with protected module architecture—an assembly-level isolation mechanism which can be found in next-generation processors. This article provides compilation scheme whose object-oriented,...
Delta modeling is an approach to facilitate automated product derivation for software lines. It based on a set of deltas specifying modifications that are incrementally applied core product. The applicability depends feature-dependent conditions. This paper presents abstract delta modeling, which explores from abstract, algebraic perspective.
Ownership types enforce encapsulation in object-oriented programs by ensuring that objects cannot be leaked beyond object(s) own them. Existing ownership programming languages either do not support parametric polymorphism (type genericity) or attempt to add it on top of restrictions. Generic provides per-object a sound generic imperative language. The resulting system only guarantees comparable established systems, but also requires few additional language mechanisms due full reuse...
Beginning with BETA, a range of programming language mechanisms such as virtual classes (class-valued attributes objects) have been developed to allow inheritance in the presence mutually dependent classes. This paper presents Tribe, type system which generalises and simplifies other formalisms mechanisms, by treating issues are inessential for soundness, precise details dispatch field initialisation, orthogonal core formalism. Tribe can support path types simultaneously on both objects, is...
Synchronous coordination systems, such as Reo, exchange data via indivisible actions, while distributed systems are typically asynchronous and assume that messages can be delayed or get lost. To combine these seemingly contradictory notions, we introduce the Dreams framework. Coordination patterns in described using a synchronous model based on Reo language, whereas global system behaviour is given by runtime composition of autonomous actors communicating asynchronously. also exploits use to...
Generic Haskell is an extension of that supports the construction generic programs. During development several applications, such as XML editor and compressor, we encountered a number limitations with existing (Classic) language, implemented by current compiler. Specifically, definitions become disproportionately more difficult to write their complexity increases, when one function uses another, because recursion implicit in definitions. In implementation, writing functions suffers burden...
The Enterprise JavaBeans (EJB) framework requires developers to preserve architectural integrity constraints when writing EJB components. Breaking these allows components violate the transaction protocol, bypass security mechanisms, disable object persistence, and be susceptible malicious attacks from other EJBs. We present an confinement discipline that static verification of components' as they are deployed into server. rules simple for understand, require no annotation code components,...
Recent developments in the systematic construction of abstract interpreters hinted at possibility a broad unification concepts static analysis. We deliver that by showing context-sensitivity, polyvariance, flow-sensitivity, reachability-pruning, heap-cloning and cardinality-bounding to be independent any particular semantics. Monads become unifying agent between these For instance, plugging same "context-insensitivity monad" into monadically-parameterized semantics for Java or lambda...