Building the MSR Tool Kaiaulu: Design Principles and Experiences

04/28/2023
by   Carlos Paradis, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/16/2018

Code smells

Code smells as symptoms of poor design and implementation choices. Many ...
research
03/01/2021

The Secret Life of Hackathon Code

Background: Hackathons have become popular events for teams to collabora...
research
03/18/2021

Tracking Hackathon Code Creation and Reuse

Background: Hackathons have become popular events for teams to collabora...
research
07/02/2019

Continuous Integration Theater

Background: Continuous Integration (CI) systems are now the bedrock of s...
research
07/11/2014

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