SPLS at Heriot Watt University, 15th October 2014

  • When: 15th October, 2014.
  • Location: Cedar room, Hugh Nisbet building, Heriot-Watt University.
    Please complete the doodle poll if you would like to attend http://doodle.com/rvrwpcb263mavfhi.


    12:00 - Lunch

    12:30 - Abstraction is not always theft: domain-specific representations in code generation for mesh-based computational science applications. Paul Kelly, Imperial College London.
    We have become used to the idea that higher-level languages supporting a higher level of abstraction come with a price in performance. In contrast, we should expect that the more information the compiler has about the structure and properties of our code, the more scope it should have for optimisation. This talk is about our experience of trying to make good on this idea. We are building software tools for a class of computational science applications, where we support a concise high-level programming model, while mapping onto a high-performance implementation entirely automatically. Our compiler is based around three layers of domain-specific program representation, each supporting different optimisations. The resulting software tools, implemented in Python, achieve higher performance than established C++ and Fortran codes.

    13:30 - Coffee & tea.

    14:00 - Program Shaping for Parallelism. Adam Barwell, St. Andrews University.
    Whilst the ubiquity of multicore processors has all but necessitated the leverage of parallelism for ever greater performance, the task of its introduction remains predominantly difficult, tedious, and error-prone. To help simplify this process, multiple approaches, such as Algorithmic Skeletons, have been developed. Yet, regardless of the method chosen, a program must fit a certain shape (i.e. fulfil certain requirements) before any such parallel components may be introduced. Most programs must therefore undergo a reshaping stage first, which, at present, must be done by hand. We propose the (semi-)automation of this stage via refactoring and the use of refactoring tools, making reshaping both simpler and safer, and illustrate a set of such refactorings that work with the Erlang skeleton library Skel.

    14:30 - Traffic-Dependent Session Types. Conor McBride, Strathclye University.
    Session types describe communications protocols, that is, the structure of traffic. The values of earlier traffic can affect the structure of later traffic: in classic session types, this is achieved by the & operator for protocols offering a choice and the + operator for protocols selecting. But the general idea of earlier traffic determining later structure provokes one to hope/fear that the session type setup could be streamlined by dependent types, which seem rather suited to that sort of contextualisation. After a certain amount of initial perplexity, I can now make a positive preliminary report. The key clue-question is "What is the stuff that session types classify, upon which other session types might depend?". The answer is before us.

    15:00 - Using Dependent Types to Reason about Structured Parallel Programs. David Castro, St. Andrews University.
    Despite the increasing importance of multi-core/many-core computers, much treatment of parallel programmimg is still very informal. There is a clear need for a formal, language-level treatment of parallelism that marries high-level abstractions with strong reasoning. This talk explores the use of dependent types to capture the structure, semantics and execution costs of parallel programs, so enabling formal reasoning about their run-time and functional behaviour. This formal reasoning allows us to apply fully automatic, and provably correct, transformations between functionally-equivalent programs with different parallel structures, and also to rationally choose between different parallel implementations, with varying execution costs, directly through their types.

    15:30 - Coffee, tea & biscuits.

    16:00 - Intrinsic Security of Functional Languages: Outcome of the LaFoSec Study. Manuel Maarek, Heriot-Watt University.
    The LaFoSec study aimed at investigating the impact of using functional languages for the development of secure applications. The investigation focused on three languages (OCaml, F# and Scala) and their distributions. While key features such as strong typing, encapsulation, pattern matching provide security on the cheap, some implementation details should be taken care of. The study was funded and initiated by the French Network and Information Security Agency (ANSSI) and conducted by a consortium lead by SafeRiver. We present the results of the security oriented analysis of the OCaml language, compiler and tools, and the impact the study had.

    16:30 - An expressive semantics of mocking. Josef Svenningsson, Chalmers University of Technology.
    We present a semantics of mocking, based on a process calculus-like formalism, and an associated mocking framwork. We can build expressive mocking specifications from small, orthogonal set of operators. Our framework detects and rejects ambiguous specifications as a validation measure. We report our experience testing software components for the car industry, which needed the full power of our framework.

    Room location

    SPLS is taking place in the Cedar room, Hugh Nisbet building in the Edinburgh Conference Centre at Heriot-Watt University. Below is a campus map. If you know the campus well, then you may wish to venture directly to the venue. Those who don't, I recommend you go to the main University reception and ask for directions to the Hugh Nisbet building.

    Getting to Heriot-Watt

    By bus from Princes Street Take the numbers 25, 34 or 45 out to Heriot-Watt University campus. The Edinburgh Conference Centre shares its entrance with the main reception of Heriot-Watt University, which will be in front of you.

    By car from Princes Street Come out by the west end of Princes Street on to Shandwick Place. Take a left into Dalry Road. Follow Dalry Road to the end, then take a right on to Gorgie Road (the A71). Follow the A71 until you come to Calder Junction. Go straight across the roundabout and continue down the A71. At the next roundabout take the first exit. Follow this road and take the second exit on to Riccarton Mains Road. At the following roundabout take the third exit on to The Avenue; follow The Avenue until the end. The Edinburgh Conference Centre shares its entrance with the main reception of Heriot-Watt University, which will be in front of you. It should take about 25 minutes.

    Parking There is extensive car parking on campus but for ease visitors should use either car park C signposted as Conference Car Park, located on the left just after the mini round-a-bout, or Visitors Car Park A, entrance is located on the first right of the Approach Avenue.

    From the airport Take Eastfield Road out of the airport and then left onto Glasgow Road. Follow Glasgow Road (the A8). Follow Glasgow Road for about a mile then take a right on to Gogar Station Road. Drive for another mile and a half and take the second exit at the roundabout on to Riccarton Mains Road; then take the third exit at the next roundabout on to The Avenue and follow it until it ends. The Edinburgh Conference Centre shares its entrance with the main reception of Heriot-Watt University, which will be in front of you. It should take about 10 minutes.

    View Larger Map