On Software Engineering Research Approaches (quick note)

I post this quick and dirty note of mine; any comments?

When facing the research topics of software engineering, three main research approaches can be identified: theoretical, engineering, and empirical.

The theoretical approach aims at developing new computational models, languages, and notations.

The engineering one has the goal of developing tools and techniques to solve practical problems by means of existing technology and available knowledge.

Eventually, the empirical approach attempts to assess, as objectively as possible, the tools, techniques, and methods used to develop software; it is based on the scientific method of hypothesis formulation and their verification and confutation.

As far as I am concerned, during the initial year of my research activity I adopted an engineering approach, then I progressively embraced an empirical approach.


Data visualization in SE research

I recently came across a couple of horrible examples of data visualization in two highly respectable publication venues for Software Engineering research: a major magazine and a major conference.

In one case a bar diagram is added with confidence interval bars that are clearly wrong: the lower bound of the interval is negative for a quantity that by definition must be positive.

In another case “bubbles” are used instead of bars with a result that is confusing and makes it difficult to compare different values.

What puzzles me is: how is it possible to have bright (if not top) scientist make such mistakes or be so careless? Maybe we should build some data visualization contents into the SE curricula (and possibly other engineers too).

Here are the two examples.

Continua a leggere