JSA Research & Innovation

Products Services Updates

Privacy-leak detector for Java

I can provide a automated detection of privacy-leaks in Java classes using a custom static analysis tool.

Pronunciation-aware dictionary look-up

Algorithms for pronunciation-aware searches in dictionaries and other databases.

Software for finding wave-induced cracks

I have an application for finding wave-induced cracks in video inspections of sub-sea structures available for interested customers.

Case statements in Ada

A short screencast introducing the viewers to some of the benefits of how case statements work in Ada, and how the static coverage checking in the compiler helps preventing errors. The presentation includes some Ada 2012 features and also gives a basic introduction of subtypes (subsets). (Alternative version.)

Command-line driver generator

An Open Source tool for generating command-line interfaces to Ada packages.
The declarations of subprograms in the public part of an Ada package specification can be seen as a declaration of how you are supposed to call the features implemented in the package. This tool translates an Ada package specification into ready-to-compile command-line interface for the package.

Sound recording and playback for Ada

An Open Source sound library for Ada providing recording and playback support.

POSIX in Ada

An appendix to the book Understanding Unix/Linux Programming making it Ada-based instead of C-based.

HTTP redirector

Are you tired of having all kinds of people tracking which links you click, and which pages you visit on the web? My HTTP redirector attempts to solve this problem by providing you with a local, non-logging replacement for some of the trackers out there. The tool is Open Source and written in Ada.

POSIX file descriptors as Ada streams

An Open Source Ada package wrapping a POSIX file descriptor (as declared in the POSIX.IO package from the POSIX Ada API) as an Ada stream. This allows you to stream Ada objects to/from any kind of file opened with the POSIX Ada API using just the standard stream attributes of Ada.

Unit-testing with Ahven (course)

I will give a course on unit-testing with Ahven in connection with Ada-Europe 2018 in Lisbon in June. Ahven is an Open Source framework for writing unit tests. It is intended to work with any Ada 95 compiler and is regularly tested with several different compilers. The course is focused on testing for projects with less strict testing requirements than DO-178C.

Writing Contracts in Ada (course)

I will give a course on writing contracts in Ada in connection with Ada-Europe 2018 in Lisbon in June. The course is an updated edition of the course Contract-based programming in Ada 2012.

Mathematical modelling

Mathematical models designed to solve problems for your business.

Software development

Software development on a consultancy basis. I can provide time estimates and hourly rates, or fixed-price quotes depending on your needs. I have experience in a large variety of programming languages, among others: Ada, C, C++, Python, Oracle PL/SQL, Pascal, SPARK and Fortran.

Review of coding standards

Coding standards can benefit from a critical review from an experienced software developer. I provide reviews and constructive comments for coding standards for Ada source text.

Source code review

I can provide critical source text reviews, either during development or as an independent review of a final product before delivery/acceptance.

Contract-based programming in Ada 2012

A course introducing the participants to contract-based programming in Ada 2012, and giving them some basic rules for using the features of Ada 2012 in a consistent and efficient manner. This course has previously been given as a tutorial at the Ada-Europe conferences in 2014 and 2015.

Ada as a Second Language

A course introducing experienced programmers to The Ada Way.

Software innovations

New business use of existing software technology, and development of new programming techniques.

Data analysis and processing

Analysis of and data processing for biological experiments.

Ada-Europe 2018 Conference Dinner Challenge

John Barnes was kind enough to bring us an interesting puzzle again for this year's Ada-Europe conference dinner. The challenge is to write up a 3 digit by 3 digit long product, such that each of the digits 0 .. 9 appears exactly twice. The current edition of the program doesn't print the final result nicely, but it is a pretty simple addition.

Registration for Ada-Europe 2018 has opened

It is time to register for the 23rd International Conference on Reliable Software Technologies, Ada-Europe 2018, which will take place in Lisbon in June.
I will give two tutorials in connection with the conference. One on automated testing, and one on writing contracts.

DTU Robocup 2018: Prize for best Design/Effects

Team Roadrunner (Jacob Sparre Andersen, Allan Ascanius and Per Dalgas Jakobsen) won the prize for best design/effects at this year's edition of DTU Robocup. Roadrunner is a 3D printed, 4-wheel, 4-engine robot car with most of its custom control software written in Ada (there are also a few lines of assembly in the hard real-time camera control).

Video: Contract-based Programming: a Route to Finding Bugs Earlier

The FOSDEM video team has published a video recording of my presentation Saturday. (Due to a technical glitch, the first couple of seconds of the video are without sound.) The presentation is intended both for software developers, who are considering to try Ada, and for experienced Ada developers, who haven't worked with the newest features for contract-based programming in Ada.

Contract-based Programming: a Route to Finding Bugs Earlier

Presentation on how Ada makes it easier to insert assertions in your software. There will live-streaming from the presentation at 14:00 CET 2018-02-03.

Submission deadline for Ada-Europe 2018 extended to Monday 5 February

The submission deadline for Ada-Europe 2018 in Lisbon has been moved to 5 February. Please submit presentations which deliver value and insight on industrial use of Ada and reliable software technologies in general. Industrial presentations are submitted as one-page extended abstracts. Feel free to contact me, if you have any questions regarding this.

Linux Day 2017 in Cagliari

I was in Cagliari for Linux Day 2017. I gave a one-hour crash course on parallel and concurrent programming using Ada for software developers who already know sequential programming. The slides are also available in (a kind of) Italian. Many thanks to GULCh for inviting me to Cagliari.

Ada DevRoom at FOSDEM 2018

The Call for presentations for the Ada DevRoom at FOSDEM 2018 is out. Please submit your proposals soon.

AdaCore Tech Days Paris

It was a pleasure attending AdaCore Tech Days in Paris. I had some good discussions with various AdaCore engineers, and with other AdaCore customers. The only disappointment was that the plans for handling code-generators with gprbuild don't match the needs of the projects I'm working on at the moment.


I've just gotten word that FOSDEM 2018 will include an Ada DevRoom. The exact programme for the DevRoom will be prepared in the coming weeks.

PortfolioCurriculum vitaePublication listProductsServicesScienceRSS feedsCalendar

JSA Research & Innovation • Jægerparken 5, 2. th. • 2970 Hørsholm • Danmark