Docker for Cross-platform Research Prototypes
Something I like about my job in academia, is the freedom with respect to what I work with. When I first started, I chose and configured my own laptop. When ...
Something I like about my job in academia, is the freedom with respect to what I work with. When I first started, I chose and configured my own laptop. When ...
I use the Maven dependency ecosystem to provide code dependencies to my students via a Maven repository hosted on my group’s artifact page. This gives studen...
Something I like about my job in academia, is the freedom with respect to what I work with. When I first started, I chose and configured my own laptop. When ...
Back when I was a PhD student, I always had too many™️ projects going on in parallel. There usually were one or two things in my own paper pipeline, a handfu...
Reudismam Rolim observes that many edits are performed repeatedly, for example, when applying corresponding fixes to multiple locations. Such edits can be ge...
Test-driven development is a testing technique that consists of the three actions “writing a failing test”, “making the test pass with the minimum amount of ...
In test-based program repair, the problem to solve is to take a program with a test suite and at least one failing test, to generate a match that makes the p...
Web APIs are a sibling of traditional APIs, but their exact relation remains unclear. Erik Wittern gives an introduction into the problems of current Web API...
Maria Kechagia presented her work on improving the usability of APIs via type checking. Her idea is that compiler should take into account statically availab...
We concluded the workshop with on open discussion about the different challenges we see and possible next steps for researchers to work on. I tried to captur...
Anand Ashok Sawant presents a preliminary study about why developers migrate between API versions.
Brad Myers gives a wonderful keynote to open the 1st Internation Workshop on API Usage and Evolution (WAPI). He discusses problem space of API design and usa...
Paige Rodeghero presents a preliminary experiment and how automatically generated method summaries mention API elements.
Imed Hammouda presents suggests an approach to assess API Design along 23 Fitness Dimensions.
Hyrum Wright reports on how Google evolves its APIs and manages the migration of its entire codebase to new API versions. He discusses various tradeoffs and ...
Whenever we write a new piece of software, we have to decide whether we want to test it in its reals context and/or in isolation. The latter case is commonly...
MSR’s keynote is given by Diomidis Spinellis about the Unix History Repository. Unix is very large system originating from the Bell Laboratories. Many ideas ...
Docker containers power the infrastructure of modern deployments. Docker quickly became a de-facto standard in industry and made lightweight virtualization a...
Travis is a free-of-charge continuous integration service tightly integrated with GitHub. Travis Torrent is a dataset containing build data about 1.200 Java ...
Mining Software Repositories (MSR) is an important research direction in the software engineering area. Today, researchers are exploring not only traditional...
The work was motivated by IBM’s desire to predict whether a feature would make it in the planned iteration. The work builds on previous work that predicts co...
Code examples from various source, such as StackOverflow or documentation, have been explored to support goals such as code recommendation, comment generatio...
Most people cannot construct a building or write a book, yet, it seems like everybody can program. Isn’t that peculiar?
“If you light a lamp for someone it will also brighten your own path.” ~Buddhist Proverb
I’m bad with names. Sometimes, when somebody tells me his name, I catch myself having forgotten about it literally in the next sentence. I’ve tried some tech...
As long as I can think, I’ve been drawing. Sometimes more, sometimes less, depending on what else I’ve been up to. My Bachelor’s, Master’s, and even the begi...
This is it. This is me reaching the end of John Sonmez’s “How to Create a Blog that Boosts Your Career” course. This is me kicking off a new blog. Not my fi...
Whenever we write a new piece of software, we have to decide whether we want to test it in its reals context and/or in isolation. The latter case is commonly...
MSR’s keynote is given by Diomidis Spinellis about the Unix History Repository. Unix is very large system originating from the Bell Laboratories. Many ideas ...
Docker containers power the infrastructure of modern deployments. Docker quickly became a de-facto standard in industry and made lightweight virtualization a...
Travis is a free-of-charge continuous integration service tightly integrated with GitHub. Travis Torrent is a dataset containing build data about 1.200 Java ...
Mining Software Repositories (MSR) is an important research direction in the software engineering area. Today, researchers are exploring not only traditional...
The work was motivated by IBM’s desire to predict whether a feature would make it in the planned iteration. The work builds on previous work that predicts co...
Code examples from various source, such as StackOverflow or documentation, have been explored to support goals such as code recommendation, comment generatio...
I use the Maven dependency ecosystem to provide code dependencies to my students via a Maven repository hosted on my group’s artifact page. This gives studen...
As you might have noticed, if you’ve been following this blog through the first half of 2017, I stopped writing somewhen in the beginning of June. This had t...
Some weeks ago, I attended a talk about IntelliJ IDEA. It was an interactive talk, to the most part, where attendees would ask questions about the IDE and th...
Early in my PhD, attending my first conference, in fact, I stated that I usually don’t work on weekends and public holidays. Several jaws dropped. “How do yo...
I’m an academic. I’ve never had a full-time developer job in my life. Yet, I write and screencast about software development. Why the heck should you care to...
This is it. This is me reaching the end of John Sonmez’s “How to Create a Blog that Boosts Your Career” course. This is me kicking off a new blog. Not my fi...
It is a sad fact that my old version of Photoshop (CS4) requires a Java 6 installation to start. This is especially cumbersome, because OSX keeps removing Ja...
I recently stumbled upon a great talk by Martin Flower about Technical Debt.1 In the talk, he first classifies technical debt according to whether you are aw...
Research is agile. Not only in its software development, but in its entirety. Simply because one rarely knows where it’s going next. Research is, by its very...
Early in my PhD, attending my first conference, in fact, I stated that I usually don’t work on weekends and public holidays. Several jaws dropped. “How do yo...
There’s always too much work left to do at the end of the day. If you do the research, you don’t get around to do the programming. If you do the programming,...
“Academic code is like startup code, only we don’t claim its production ready.” ~A speaker at the 33C3
Recently, I received an email from a former student assistant of mine, who observed that I name tests different today, compared to when we were working toget...
Where does legacy code come from? What is legacy code, anyway? Why should we care about it? Can we make it go away? How? Can we prevent it from coming back, ...
Did you ever find yourself facing a problem, wishing you had a program to solve it for you? I certainly did. Repeatedly.
I recently stumbled upon a great talk by Martin Flower about Technical Debt.1 In the talk, he first classifies technical debt according to whether you are aw...
I’m bad with names. Sometimes, when somebody tells me his name, I catch myself having forgotten about it literally in the next sentence. I’ve tried some tech...
Research is agile. Not only in its software development, but in its entirety. Simply because one rarely knows where it’s going next. Research is, by its very...
“Academic code is like startup code, only we don’t claim its production ready.” ~A speaker at the 33C3
A strong set of tests gives me confidence that the tools I devise do what I want them to do and that my experiments test what I intend them to test. This is ...
As you might remember, academics code, too. And that’s not even only computer scientists: The first of my friends who needed to program in university were ph...
Yesterday, I gave a talk about TDD and the TDD-Discussions on Entwicklertag Frankfurt. TDD has caused many discussions, both heated and thoughtful, over the ...
In early 2014, Cope published an article titled “Why Most Unit Testing Is Waste” and little later a follow up. In these articles, Cope states that unit testi...
In 2007, Robert C. Martin (Uncle Bob) and James O. Coplien (Cope) had a discussion about TDD at the JAOO Conference. Uncle Bob opened the discussion proclaim...
Something I like about my job in academia, is the freedom with respect to what I work with. When I first started, I chose and configured my own laptop. When ...
Young and unexperienced our art is and unique properties it has.
Yesterday, I gave a talk about TDD and the TDD-Discussions on Entwicklertag Frankfurt. TDD has caused many discussions, both heated and thoughtful, over the ...
Where does legacy code come from? What is legacy code, anyway? Why should we care about it? Can we make it go away? How? Can we prevent it from coming back, ...
“If you light a lamp for someone it will also brighten your own path.” ~Buddhist Proverb
I use the Maven dependency ecosystem to provide code dependencies to my students via a Maven repository hosted on my group’s artifact page. This gives studen...
Recently, I received an email from a former student assistant of mine, who observed that I name tests different today, compared to when we were working toget...
A strong set of tests gives me confidence that the tools I devise do what I want them to do and that my experiments test what I intend them to test. This is ...
As you might remember, academics code, too. And that’s not even only computer scientists: The first of my friends who needed to program in university were ph...
Yesterday, I gave a talk about TDD and the TDD-Discussions on Entwicklertag Frankfurt. TDD has caused many discussions, both heated and thoughtful, over the ...
In early 2014, Cope published an article titled “Why Most Unit Testing Is Waste” and little later a follow up. In these articles, Cope states that unit testi...
In 2007, Robert C. Martin (Uncle Bob) and James O. Coplien (Cope) had a discussion about TDD at the JAOO Conference. Uncle Bob opened the discussion proclaim...
Young and unexperienced our art is and unique properties it has.
Back when I was a PhD student, I always had too many™️ projects going on in parallel. There usually were one or two things in my own paper pipeline, a handfu...
Web APIs are a sibling of traditional APIs, but their exact relation remains unclear. Erik Wittern gives an introduction into the problems of current Web API...
Maria Kechagia presented her work on improving the usability of APIs via type checking. Her idea is that compiler should take into account statically availab...
We concluded the workshop with on open discussion about the different challenges we see and possible next steps for researchers to work on. I tried to captur...
Anand Ashok Sawant presents a preliminary study about why developers migrate between API versions.
Brad Myers gives a wonderful keynote to open the 1st Internation Workshop on API Usage and Evolution (WAPI). He discusses problem space of API design and usa...
Paige Rodeghero presents a preliminary experiment and how automatically generated method summaries mention API elements.
Imed Hammouda presents suggests an approach to assess API Design along 23 Fitness Dimensions.
Hyrum Wright reports on how Google evolves its APIs and manages the migration of its entire codebase to new API versions. He discusses various tradeoffs and ...