On technical debt in mathematical programming: An exploratory study
Loading...
Date
Authors
Vidoni, Melina
Cunico, Maria Laura
Journal Title
Journal ISSN
Volume Title
Publisher
Springer Berlin Heidelberg
Abstract
The Technical Debt (TD) metaphor describes development shortcuts taken for expediency that cause the degradation of internal software quality. It has served the discourse
between engineers and management regarding how to invest resources in maintenance
and extend into scientific software (both the tools, the algorithms and the analysis
conducted with it). Mathematical programming has been considered ‘special purpose
programming’, meant to program and simulate particular problem types (e.g., symbolic
mathematics through Matlab). Likewise, more traditional mathematical programming
has been considered ‘modelling programming’ to program models by providing programming structures required for mathematical formulations (e.g., GAMS, AMPL,
AIMMS). Because of this, other authors have argued the need to consider mathematical programming as closely related to software development. As a result, this
paper presents a novel exploration of TD in mathematical programming by assessing self-reported practices through a survey, which gathered 168 complete responses.
This study discovered potential debts manifested through smells and attitudinal causes
towards them. Results uncovered a trend to refactor and polish the final mathematical
model and use version control and detailed comments. Nonetheless, we uncovered
traces of negative practices regarding Code Debt and Documentation Debt, alongside
hints indicating that most TD is deliberately introduced (i.e., modellers are aware that
their practices are not the best). We aim to discuss the idea that TD is also present
in mathematical programming and that it may hamper the reproducibility and maintainability of the models created. The overall goal is to outline future areas of work
that can lead to changing current modellers’ habits and assist in extending existing
mathematical programming (both practice and research) to eventually manage TD in
mathematical programming.
Description
Keywords
Citation
Collections
Source
Mathematical Programming Computation
Type
Book Title
Entity type
Access Statement
Open Access
License Rights
Creative Commons Attribution License
Restricted until
Downloads
File
Description