Artículo
On technical debt in mathematical programming: An exploratory study
Fecha de publicación:
12/2022
Editorial:
Springer
Revista:
Mathematical Programming Computation
ISSN:
1867-2949
e-ISSN:
1867-2957
Idioma:
Inglés
Tipo de recurso:
Artículo publicado
Clasificación temática:
Resumen
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.
Palabras clave:
MATHEMATICAL MODELLING
,
SOFT-OR
,
SOFTWARE ENGINEERING
,
TECHNICAL DEBT
Archivos asociados
Licencia
Identificadores
Colecciones
Articulos(INGAR)
Articulos de INST.DE DESARROLLO Y DISEÑO (I)
Articulos de INST.DE DESARROLLO Y DISEÑO (I)
Citación
Vidoni, Melina; Cúnico, María Laura; On technical debt in mathematical programming: An exploratory study; Springer; Mathematical Programming Computation; 14; 4; 12-2022; 781-818
Compartir
Altmétricas