Input-validation and edge-case bugs found in the v1.1.0 audit
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 15/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Estancado
- Stack tecnológico
- r
- Área
- analytics, data-visualization
Línea de trabajo
This is a bundle of seven separate bugs, and pull request #238 is already open against it, so the work is claimed. Start from R/twsa.R:34 and R/create_sa.R:76-100, which show the outcome matching and the strategy-name checks. Each item needs a failing regression test before its fix. Done means every item has a test and NEWS has matching Bug fixes bullets.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Suggested owner: Jorge Roa · Plan: Phase 2b
Goal
Several functions give cryptic errors, or silently wrong results, on valid or near-valid input. Fix each item with a regression test.
Scope
twsa()on adsa_twowayobject fails with the defaultoutcome. Code-verified.R/twsa.R:34callsmatch.arg(outcome)only in thepsabranch.- The
dsa_twowaybranch passes the 6-element default straight tocalculate_outcome()(R/twsa.R:57). calculate_outcome()matches against a different 8-element choice vector (R/calculate_outcome.R:9-10), so the call errors with "'arg' must be of length 1".- Fix: move
outcome <- match.arg(outcome)above the branch.
make_psa_obj()with the wrong number of strategy names gives "missing value where TRUE/FALSE needed". Reproduced.- The comparison loop at
R/create_sa.R:76runs before the length check atR/create_sa.R:88. - Move the check first. Shared with #208.
- The comparison loop at
other_outcomecolumns are never renamed to the strategy names. Reproduced: names stayChemo_Cost Radio_Cost Surg_Cost.R/create_sa.R:94-100renamescostandeffectivenessonly.
plot.evsi()condition has a misplaced parenthesis. Code-verified.R/evsi.R:324:length(unique(x$WTP > 1))should belength(unique(x$WTP)) > 1.
- Dead
FUNvalidity guard in the DSA runners. Code-verified.R/run_dsa.R:77andR/run_dsa.R:247useis.na(sum(is.na(jj))), which is alwaysFALSE. This is the same pattern asR/run_psa.R:47in #174; fix it the same way.
plot.exp_loss(col = "bw")ignoreslsize. Code-verified.- The bw branch at
R/exp_loss.R:170-171callsgeom_line(aes(linetype = ...))withoutlinewidth = lsize. col_aes = c("color", "line")atR/exp_loss.R:175includes"line", whichadd_common_aes()does not handle.
- The bw branch at
max.col()random tie-breaking also affectscalc_exp_loss(). Code-verified.R/exp_loss.R:60:max.col(-exp_loss)uses the defaultties.method = "random".- Fix it together with #167 (
R/ceac.R:85), usingties.method = "first". See the proposed comment on #167 below.
Acceptance
Each item has a test that fails before the fix. NEWS gets "Bug fixes" bullets.
- Lenguaje dominante
- R
- Estrellas
- 43
- Forks
- 14
- Merge medio
- 4 h 44 min
- PR fusionados (30 d)
- 15
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de DARTH-git/dampack
-
documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
Release dampack 1.1.0 to CRANAbiertorelease
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
Los mantenedores suelen responder en 1 día
-
documentation release
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
Los mantenedores suelen responder en 1 día
-
documentation
Dificultad 3/5 1-2 días Aptitud para principiantes 58/100
Los mantenedores suelen responder en 1 día
Todos los issues de DARTH-git/dampack
Issues similares
-
documentation priority: low
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Pascal-Kueng/dyadMLM#179 ·
Los mantenedores suelen responder en 1 día
-
Consider changesAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
OHDSI/OmopSketch#618 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
-
bug exec:agent status:fix-merged
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
ichirio/rtfreporter#1046 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día