• Algebraic Reasoning About Timeliness 

      Haeri, Seyed Hossein; Thompson, Peter W; Van Roy, Peter; Haveraaen, Magne; Davies, Neil J; Barash, Mikhail; Hammond, Kevin; Chapman, James (Journal article; Peer reviewed, 2023)
      Designing distributed systems to have predictable performance under high load is difficult because of resource exhaustion, non-linearity, and stochastic behaviour. Timeliness, i.e., delivering results within defined time ...
    • Axiom-Based Transformations: Optimisation and Testing 

      Bagge, Anya Helene; Haveraaen, Magne (Peer reviewed; Journal article, 2009-10-10)
      Programmers typically have knowledge about properties of their programs that aren't explicitly expressed in the code ­ properties that may be very useful for, e.g., compiler optimisation and automated testing. Although ...
    • High-performance design patterns for modern Fortran 

      Haveraaen, Magne; Morris, Karla; Rouson, Damian; Radhakrishnan, Hari; Carson, Clayton (Peer reviewed; Journal article, 2015)
      This paper presents ideas for using coordinate-free numerics in modern Fortran to achieve code flexibility in the partial differential equation (PDE) domain. We also show how Fortran, over the last few decades, has changed ...
    • Inferring Required Permissions for Statically Composed Programs 

      Hasu, Tero; Bagge, Anya Helene; Haveraaen, Magne (Lecture Notes in Computer Science; 8208, Chapter; Peer reviewed, 2013)
      Permission-based security models are common in smartphone operating systems. Such models implement access control for sensitive APIs, introducing an additional concern for application developers. It is important for the ...
    • Interfacing concepts: Why declaration style shouldn't matter 

      Bagge, Anya Helene; Haveraaen, Magne (Peer reviewed; Journal article, 2010-09-17)
      A concept (or signature) describes the interface of a set of abstract types by listing the operations that should be supported for those types. When implementing a generic operation, such as sorting, we may then specify ...
    • P3 problem and Magnolia language: Specializing array computations for emerging architectures 

      Chetioui, Benjamin; Larnøy, Marius Kleppe; Järvi, Jaakko Timo Henrik; Haveraaen, Magne; Mullin, Lenore (Journal article; Peer reviewed, 2022)
      The problem of producing portable high-performance computing (HPC) software that is cheap to develop and maintain is called the P3 (performance, portability, productivity) problem. Good solutions to the P3 problem have ...
    • Revisiting Language Support for Generic Programming: When Genericity Is a Core Design Goal 

      Chetioui, Benjamin; Järvi, Jaakko Timo Henrik; Haveraaen, Magne (Journal article; Peer reviewed, 2022)
      Context Generic programming, as defined by Stepanov, is a methodology for writing efficient and reusable algorithms by considering only the required properties of their underlying data types and operations. Generic ...
    • Semantics of multiway dataflow constraint systems 

      Haveraaen, Magne; Järvi, Jaakko (Journal article; Peer reviewed, 2021)
      Multiway dataflow constraint systems (MDCS) is a programming model where statements are not executed in a predetermined order. Rather, individual methods are selected from specific method sets and then executed to achieve ...
    • Specifying with syntactic theory functors 

      Haveraaen, Magne; Roggenbach, Marcus (Journal article; Peer reviewed, 2020)
      We propose a framework, syntactic theory functors (STFs), for creating syntactic structuring mechanisms for specification languages. Good support for common reuse patterns is important for systematically developing ...
    • Testing with Concepts and Axioms in C++ 

      Bagge, Anya Helene; David, Valentin; Haveraaen, Magne (Reports in Informatics: 368, Research report, 2008-10)
      Modern development practices encourage extensive testing of code while it is still under development, using unit tests to check individual code units in isolation. Such tests are typically case-based, checking a likely ...