Subscribe to our Erlang Factory newsletter to receive the latest updates and news

Kostis Sagonas
Leader of the HiPE team and Erlang tool developer
Uppsala University and National Technical University of Athens

Kostis Sagonas is an academic who has been heavily involved in the development of Erlang and its implementation since 1999. At Uppsala University, he has led the development team of the HiPE native code compiler that nowadays is part of Erlang/OTP. Together with his students, first at Uppsala University and more recently at the National Technical University of Athens, he has proposed various changes and additions to the language (most notably, bit-level pattern matching and bit-stream comprehensions, and the language of type and spec declarations), and has contributed to its compiler and runtime system. Besides HiPE, he has designed and implemented software development tools for Erlang (dialyzer, typer, tidier, proper, ...) and has contributed bug fixes to many open-source Erlang projects.

Kostis Sagonas is Giving the Following Talks

This talk will describe the architecture, design decisions, and the current implementation and performance of ErLLVM. ErLLVM is an extension of the HiPE native code compiler of Erlang/OTP that uses the Low Level Virtual Machine (LLVM) compiler infrastructure as a back-end. As such, it benefits from the set of existing components and low-level optimizations that LLVM provides. More importantly, it is in principle readily 
available on all platforms that LLVM supports.

ErLLVM is a full system currently available as open-source and has been tested on x86 and x86_64 based machines running Linux. It supports the complete Erlang language and to the best of our knowledge is robust enough for others to try. We welcome user feedback and extensions!

Talk objectives: Introduce ErLLVM and present its salient features and current performance.

Target audience: Performance conscious Erlang programmers.

A Scalability Study of Erlang/OTP

The concurrency model of the Erlang language is claimed to be ideally suited for the multicore era. In theory it allows concurrent programs to achieve good scalability as the number of cores increases. OK, but what happens in practice?

Since November 2011, we have embarked on a project that aims to improve the scalability of Erlang programs on machines with hundreds, thousands, and possibly even hundreds of thousands of cores. As a first step, we have created a benchmark suite, consisting of both synthetic benchmarks and actual Erlang applications with needs for massive concurrency, in order to measure the scalability of existing Erlang/OTP versions, identify possible bottlenecks in the language and the VM, and get inspiration for language extensions and VM improvements for future versions of Erlang/OTP. The talk will present the results of our investigation so far and offer some advice on dos and don'ts for achieving good scalability on the existing VM.

NOTE: If you are curious to find out how your application performs in terms of scalability, feel free to send it to the speaker by mid-March and he may include the results in his talk. The only prerequisite is that your application should be highly concurrent and more or less self-contained.

Talk objectives: Report on the scalability of Erlang/OTP.

Target audience: Performance conscious Erlang programmers. Anybody curious what scalability to expect from current and future Erlang/OTP versions.

A PropEr Tutorial

Property-based testing is a novel approach to software testing, where the tester needs only specify the generic structure of valid inputs for the program under test, plus certain properties that the program is expected to satisfy for every valid input. PropEr is an open-source tool for property-based testing in Erlang. Its salient feature is that it provides a tight integration of the language of types and specs of Erlang with property-based testing. Any type can be used as a generator and any function spec can be directly used as simple property of a function. In addition, PropEr comes with components for testing stateful applications.

This hands-on tutorial will introduce through examples the support that PropEr provides for property-based testing in Erlang, present some of the common mistakes that novice users do, and will give advice for the proper use of the tool.

Talk objectives: Describe and explain the use of PropEr on some examples.

Target audience: Test-conscious Erlang programmers.