Programming Languages

Focus:

Design and analysis of languages for real-time and embedded systems, including very high-level parallel modeling languages for heterogeneous systems with massively parallel accelerators. Static program analysis for embedded systems, in particular Worst-Case Execution Time analysis and associated techniques. The combination of static analysis and testing. Program slicing.


Design and analysis of languages for real-time and embedded systems, including very high-level parallel modeling languages for heterogeneous systems with massively parallel accelerators. Static program analysis for embedded systems, in particular Worst-Case Execution Time analysis and associated techniques. The combination of static analysis and testing. Program slicing.

Overview:

The Programming Languages group was founded in 2000. It conducts research mostly in static program analysis. The research is focused on software for embedded systems. In particular the group has a track record in Worst-Case Execution Time (WCET) analysis, where it has been one of the leading groups regarding the part of of WCET analysis that aims to automatically find constraints on the program flow, like bounds on the number of iterations for loops, and infeasible path constraints. The group has developed and implemented a number of algorithms for this purpose, representing different tradeoffs between performance and precision. These algorithms are all based on abstract interpretation, where the group also has contributed to the design of abstract numerical domains.

Today the group performs research in the area of program slicing, where it has contributed with theoretical results as well as with improved algorithms. Another area of current interest is the combination of static analysis and testing. A third area is very high-level languages for executable models/specifications of massively parallel algorithms.

The group is known for its open source tool SWEET (SWEdish Execution Time tool), which is a tool mainly for deriving program flow constraints. The group is also responsible for the widely used Mälardalen Benchmarks, which is a collection of C programs used for benchmarking and evaluation of WCET analysis tools and algorithms. Lately the group has also created the tool Racer, which performs so-called "May Happen in Parallel" analysis for detection of possible race conditions in concurrent software.

The group is active in collaborations both nationally and internationally. It has coordinated two EU projects in the past, and it also chaired a Cost Action on timing analysis that involved 100+ researchers from 20 European countries. The group has also participated in three ITEA projects. Nationally the group has beeen involved in several collaborations with both academic and industrial partners, examples are RISE/SICS and Ericsson.

Björn Lisper, Professor

Email: bjorn.lisper@mdu.se
Room: U1-091
Phone: +46-21-151709