Thursday, 30 June 2016

Coupling of what?

Wouldn't it be amazing if the entities in a software system were coupled differently but similarly? They're calling each other so they're coupled. They're changed together do they're coupled. They have similar names, so they're coupled. One is the structural coupling, the second is the logical coupling, the third is the semantic coupling.

Turns out that structural coupling is affecting a lot of pairs of classes. Logical affects way less. But the logically coupled classes are also likely to be structurally coupled. This makes a case for building prediction models.

What are your structurally coupled classes? What is the chance that they will need to be changed over and over again?

Sunday, 26 June 2016

On the traceability of bugs

The traceability of bugs means being able to find which bugs were opened and closed, and described by developers in the development logs.

Open source projects are particularly bad at that. A sample of over 300 projects shows that the bug coverage ratio (how many bugs are found in both bug tracker and development logs) reaches 30% in average.

Using both sets of bug IDs (from bug tracker and development logs) would increase the number of bugs available to study and model a development and maintenance process. How many studies could be updated in their conclusion using this approach?