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.

Project TitleStatus
HERO-ML active
SmartDelta: Automated Quality Assurance and Optimization in Incremental Industrial Software Systems Development active
Software Center active
SUNRISE - Strategic Universities Network for Regional Innovative and Sustainable Evolution active
WCET - Worst-Case Execution Time analysis active
Affordable Safe & Secure Mobility Evolution finished
ALL-TIMES finished
APARTS - Advanced Program Analysis for Real-Time Systems finished
ArtistDesign finished
Data Field Haskell finished
Dimensional Inference in Strongly Typed Modeling Languages. finished
Global Constraints in Constraint Programming and Local Search finished
Haxcel finished
HERO: Heterogeneous systems - software-hardware integration finished
High Level Languages for Hard and Embedded Real-Time Systems finished
MOMENTUM: analysis of models towards compilation to predictable embedded real-time and safety-critical applications finished
Parallel Execution of PLEX programs finished
PG-CBD-StatA – Static Timing Analysis of Component-Based Systems finished
RALF3 - Software for Embedded High Performance Architectures finished
Response-time Calculations with Integer Linear Programming Methods finished
Static Program Analysis for Complex Embedded systems finished
SYNOPSIS - Safety Analysis for Predictable Software Intensive Systems finished
TESTOMAT Project - The Next Level of Test Automation finished
Timing Analysis on Code-Level finished
TIMMO-2-USE finished
TOCSYC - Testing of Critical System Characteristics (KKS) finished
Worst-Case Execution Time Analysis of Parallel Systems finished

Björn Lisper, Professor

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