Nov 10, 2019

Automated Software Engineering Conference—Day 0

Being the first time at a major scientific conference is an impressive experience. The first conference I have the honour to attend is 2019’s IEEE/ACM International Conference on Automated Software Engineering (ASE) in San Diego, CA, USA. I want to use the opportunity to blog a bit about my experiences there.

The experience starts very early on Sunday morning at around 4am driving to Munich Airport. The flight to Frankfurt, where we have the direct flight to San Diego, leaves Munich at 7am and it is about a two hour car ride to the airport.

The first issues occur at around 7am, when the Captain of the flight announces that two people did check their luggage but did not make it to the gate—however that was possible. This and the bad whether made up a delay that let us almost miss the connecting flight in Frankfurt. But we made it and had the feeling of being in the German ASE aircraft, as many well-known researchers took this flight. Flights where nice and quiet, although quite long. The only noteworthy event was the breaking of the flight entertainment system, especially its position-viewing component.

Picture of the flight entertainment system in boot loop

It just started to boot in a loop while flying over Canada and did not stop to do so until San Diego.

After arriving at the hotel we had some spare time and used it to visit Mission Beach where we had a nice play of the sun and the clouds.

The Pacific Ocean at San Diego Mission Beach in the afternoon

I will continue this series of posts. On Monday is the Doctoral Symposium, where I will present my PhD project and I will serve as a Student Volunteer throughout the rest of the conference.

Sep 16, 2019

Accepted Doctoral Symposium Paper

I am happy to announce that my paper “Generating Tests to Analyse Dynamically-Typed Programs” was accepted at the Doctoral Symposium of the 34th IEEE/ACM International Conference on Automated Software Engineering (ASE) in November in San Diego, CA, USA.

I am going to present my paper at the Doctoral Symposium, which will take place on November 11, 2019.

You can download a pre-print version of the paper, I’ll link the final version as soon as it is available.

Jul 15, 2019

A Note on Email

Email is there since a long time ago; it dates back to the early 1970s, thus it is much older than most of its users. With this page I want to present some things that are important to me in my daily email workflow. I want to ask you to respect this, especially if you are a student asking for advice or similar.

Email Client and Format

I know that there is a large number of email clients out there. Many users even prefer the web interfaces provided by their email providers—a habit I cannot understand at all, since they feel so bloated and shiny to me, which distracts me from actually getting information transferred. I am almost exclusively using neomutt, a console-based email client running in a terminal. neomutt is a fork of the well-known mutt mail reader, with added features bundled instead of adding them via patch application.

Due to this client choice my mail is shown on a terminal, which avoids me from seeing all your shiny colourful nicely designed stuff you send with your emails. Thus, it is completely useless to send me HTML email. Actually, you should avoid HTML email at all and for all times! It only increases size of the mail (not the best argument in 2019); furthermore, there are privacy concerns, because they can include whatever external content is referenced there, can be abused easily for phishing attacks or to spread malicious software.

Worst is, if your email client sends HTML only, ignoring that there should be a text-only version of the text as well. This results in me either saving the HTML to a file and open it in a browser—because technically, you are sending a web page to me—or deleting the mail without reading it.

Thus, configure your email client properly, such that it sends plain-text only. For your own good, I’d recommend to also deactivate the rendering of HTML for all mails you receive. Consider to also have a look at the useplaintext web page.


Do not send me large binary attachments without notifying me beforehand. Furthermore, please use open formats, such as plain text, TeX, or the open-document format from Open-/LibreOffice. Do not send me Word, Excel, or PowerPoint files, I won’t open them!


I prefer email encryption using GnuPG. See the about page for my key. Please send encrypted email whenever you can. We can also meet in person to cross-sign our GnuPG keys.

Just do me one favour: configure your email client to not encrypt the subject. This is a new bad habit by Thunderbird plugins, which make searching for emails even more painful.

Posting Style

Please never use top posting! Consider the following example, why it is such a bad idea to top post (example taken from Wikipedia):

1 A: Because it messes up the order in which people normally read text.
2 Q: Why is top-posting such a bad thing?
3 A: Top-posting.
4 Q: What is the most annoying thing in e-mail?

The article provides a large explanation, which styles are common and which shall be used. I use a combination of interleaved and bottom posting, depending on the context. If your email client does not support this style and you cannot configure it it is maybe time to switch to a proper mail client :-) But beware: “every mail client sucks” (from the mutt motto).

Jul 14, 2019

Restart the Page and Blog

This page exists now for more than one year, without being to much used or updated by me. To overcome this, I’ve now decided to update the page and use it more regularly.

Most prominently, I’ve added pages about my research interests as well as the teaching I am doing. Besides that, I’ve changed the theme of the page.

The blog will be used as my personal note keeping, where I post things that I’ve learned, put random notes to, and provide some other stuff, maybe not too interesting for you.

Mar 05, 2018

First Blog Post

Wow, finally I made it. Setting up this page was planned for a long time.

It is using the Pelican static site generation system a system that is processing simple input files written in reStructured Text or Markdown into static HTML pages. In my opinion this is the simplest, easiest and safest way to generate a web page nowadays. It is so safe and fast, because the web server has to only serve static content. There is no dynamic language like PHP, Ruby, or Python running on the server; neither is a database needed.

I keep this blog basically as some kind of note book. Thus, I will post things that I am interested in the moment at irregular occasions.

For testing reasons, some source code, here Python

1 print("Hello World from Python")

And some Haskell, just for fun, taken from the Haskell Wiki.

 1 import Data.List
 2 import Data.Bits
 4 fibs :: [Integer]
 5 fibs = 0 : 1 : zipWith (+) fibs (tail fibs)
 7 firstNFibs :: Integer -> [Integer]
 8 firstNFibs n = take n fibs
10 fib1 n = snd . foldl fib_ (1, 0) . map (toEnum . fromIntegral) $ unfoldl divs n
11     where
12       unfoldl f x = case f x of
13               Nothing     -> []
14               Just (u, v) -> unfoldl f v ++ [u]
16       divs 0 = Nothing
17       divs k = Just (uncurry (flip (,)) (k `divMod` 2))
19       fib_ (f, g) p
20           | p         = (f*(f+2*g), f^2 + g^2)
21           | otherwise = (f^2 + g^2, g*(2*f-g))
23 fib :: Int -> Integer
24 fib n = snd . foldl_ fib_ (1, 0) . dropWhile not $
25             [testBit n k | k <- let s = bitSize n in [s-1, s-2..0]]
26     where
27       fib_ (f, g) p
28           | p         = (f*(f+2*g), ss)
29           | otherwise = (ss, g*(2*f-g))
30           where ss = f*f+g*g
31       foldl_ = foldl' -- '