Building the MSR Tool Kaiaulu: Design Principles and Experiences

by   Carlos Paradis, et al.

Background: Since Alitheia Core was proposed and subsequently retired, tools that support empirical studies of software projects continue to be proposed, such as Codeface, Codeface4Smells, GrimoireLab and SmartSHARK, but they all make different design choices and provide overlapping functionality. Aims: We seek to understand the design decisions adopted by these tools–the good and the bad–along with their consequences, to understand why their authors reinvented functionality already present in other tools, and to help inform the design of future tools. Method: We used action research to evaluate the tools, and to determine a set of principles and anti-patterns to motivate a new tool design. Results: We identified 7 major design choices among the tools: 1) Abstraction Debt, 2) the use of Project Configuration Files, 3) the choice of Batch or Interactive Mode, 4) Minimal Paths to Data, 5) Familiar Software Abstractions, 6) Licensing and 7) the Perils of Code Reuse. Building on the observed good and bad design decisions, we created our own tool architecture and implemented it as an R package. Conclusions: Tools should not require onerous setup for users to obtain data. Authors should consider the conventions and abstractions used by their chosen language and build upon these instead of redefining them. Tools should encourage best practices in experiment reproducibility by leveraging self-contained and readable schemas that are used for tool automation, and reuse must be done with care to avoid depending on dead code.


page 1

page 2

page 3

page 4


Code smells

Code smells as symptoms of poor design and implementation choices. Many ...

The Secret Life of Hackathon Code

Background: Hackathons have become popular events for teams to collabora...

Tracking Hackathon Code Creation and Reuse

Background: Hackathons have become popular events for teams to collabora...

Continuous Integration Theater

Background: Continuous Integration (CI) systems are now the bedrock of s...

SketchBio: A Scientist's 3D Interface for Molecular Modeling and Animation

Background: Because of the difficulties involved in learning and using 3...

Please sign up or login with your details

Forgot password? Click here to reset