Blog

Thoughts, tech notes, in-depth articles and walkthroughs.

September 23, 2017 4 mins read
Cloud

Analyzing Cloud Foundry Access Logs

The gorouter component of Cloud Foundry routes all incoming HTTP requests to their target containers and writes all requests to an access log. Each access log entry produced by the gorouters contains a lot of information you would typically receive in other web server access logs as well. This blog post shows how to obtain the logs with either the BOSH CLI or the Cloud Foundry CLI and how to analyze them with goaccess.

Read more
July 01, 2017 2 mins read

A Critical Evaluation of Spectrum-Based Fault Localization Techniques on a Large-Scale Software System

This paper is published in Software Quality, Reliability and Security (QRS) 2017. It is a paper on the topic of my bachelor’s thesis.

Abstract

In the past, spectrum-based fault localization (SBFL) techniques have been developed to pinpoint a fault location in a program given a set of failing and successful test executions. Most of the algorithms use similarity coefficients and have only been evaluated on established but small benchmark programs from the Software-artifact Infrastructure Repository (SIR). In this paper, we evaluate the feasibility of applying 33 state-of-the-art SBFL techniques to a large real-world project, namely ASPECTJ. From an initial set of 350 faulty version from the iBugs repository of ASPECTJ we manually classified 88 bugs where SBFL techniques are suitable. Notably, only 11 bugs of these bugs can be found after examining the 1000 most suspicious lines and on average 250 source code files need to be inspected per bug. Based on these results, the study showcases the limitations of current SBFL techniques on a larger program.

Read more
June 26, 2017 6 mins read
Architecture

Documenting Architecture Decisions

Take a moment and think of a big architectural decision you made in your last project. That one point were you started just with the problem description and had to choose either to go one way to solve it or the other. That was a tough decision to make, right?

Now, can you know show me based on what facts, criteria and opinions that decision was made? Who was actually involved in making that decision? From a retrospective point of view, wouldn’t it now be really helpful to go through that decision again and see how it turned out in the end? Did the architects anticipate the pain points experienced later on in the project? Were they unforeseeable based on the knowledge present at the decision point? How could those decisions be improved in the future?

Read more
May 31, 2017 3 mins read
Cloud

Logging Extra Headers with Cloud Foundry

A Cloud Foundry deployment can be configured to log extra HTTP headers on every request to enrich the log messages produced by the gorouters. This is highly useful to add trace headers to all requests going through the Cloud Foundry deployment. As of writing this, there is a configuration option for this feature available in the OpsManager API, but not in the OpsManager UI itself. So to configure the extra headers to log with Cloud Foundry, we’ll need to hop on a shell.

Read more