[TS] Construct function-typed input values for symbolic execution
Los mantenedores suelen responder en 3 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 55/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- kotlin, node.js, typescript
- Área
- compilers, testing-qa
Línea de trabajo
Start with TsInterpreter.getInitialState and the EtsHierarchy.classesForType(EtsFunctionType) failure described in the issue, then inspect the disabled typeOfInputFunction test and the related typeof coverage from PR #459. Add a focused source-level regression for a function-typed parameter, verify generated callable inputs by replaying them in Node.js, and distinguish unsupported callable forms from failed analysis.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Problem
USVM cannot construct an initial state for a function-typed TypeScript parameter. The typeof visitor in PR #459 handles callable values created inside the program, but an input callable reaches TsInterpreter.getInitialState and EtsHierarchy.classesForType(EtsFunctionType) throws before typeof runs. The existing typeOfInputFunction test remains disabled for this reason.
Minimal TypeScript example
export function kind(value: () => number): string {
return typeof value;
}
Expected behavior
A callable input is represented as a function value and kind(() => 1) returns "function". Symbolic execution must not silently classify it as an object or report an exhaustive search after a setup failure.
Acceptance criteria
- A focused source-level regression executes
kindfrom a function-typed parameter and checks the symbolic outcome. - A generated callable input is replayed in Node.js and produces the same observable result.
- Unsupported forms of callable inputs have an explicit unsupported outcome, distinct from a failed analysis.
- Ordinary object and concrete in-program callable
typeofbehavior remains covered.
Dependency
PR #459 addresses concrete callable values and exposes this separate initial-state gap. Keep this as one issue for function-typed inputs; do not expand PR #459 with unrelated function-input synthesis.
- Lenguaje dominante
- Kotlin
- Estrellas
- 33
- Forks
- 27
- Merge medio
- 4 d 8 h
- PR fusionados (30 d)
- 19
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
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 UnitTestBot/usvm
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
UnitTestBot/usvm#467 ·
Los mantenedores suelen responder en 3 días
-
enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
UnitTestBot/usvm#457 ·
Los mantenedores suelen responder en 3 días
-
enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
UnitTestBot/usvm#440 ·
Los mantenedores suelen responder en 3 días
-
enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
UnitTestBot/usvm#439 ·
Los mantenedores suelen responder en 3 días
-
enhancement
Dificultad 3/5 1-2 días Aptitud para principiantes 70/100
UnitTestBot/usvm#438 ·
Los mantenedores suelen responder en 3 días
Todos los issues de UnitTestBot/usvm
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
Kotlin/kotlin-lsp#288 ·
-
afk-ok area:data-quality importer size:S
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
enorm-labs/event-junkie#3166 ·
Los mantenedores suelen responder en 1 día
-
enhancement good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
rajpreetcodes/Skills_MCP_Server#25 ·
Los mantenedores suelen responder en 1 día
-
bugbane/qf good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
osservatorionessuno/bugbane#173 ·
Los mantenedores suelen responder en 1 día
-
Android: build fails with Android Gradle Plugin 9 (kotlinOptions, lintOptions, proguard-android.txt)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
capacitor-community/stripe#544 ·
Los mantenedores suelen responder en 1 día