[TS] Construct function-typed input values for symbolic execution
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 55/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- kotlin, node.js, typescript
- Domaine
- compilers, testing-qa
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Current state (2026-10-14)
Audited against usvm main at 19866c959d.
Concrete functions/class constructors created in the program are recognized by typeof and can be dispatched. The initial-state path for function-typed inputs is still a separate unsupported witness-construction problem.
Remaining acceptance boundary
Construct/replay a supported callable input, keep unsupported callable forms distinct from setup/engine failure, and enable the input-function regression. Reuse concrete callable behavior without claiming it solves input synthesis.
Original report and acceptance context, retained for traceability
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.
- Langage dominant
- Kotlin
- Étoiles
- 33
- Forks
- 27
- Merge moyen
- 3 j 21 h
- PR mergées (30 j)
- 88
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de UnitTestBot/usvm
-
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
UnitTestBot/usvm#612 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 18/100
UnitTestBot/usvm#618 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 25/100
UnitTestBot/usvm#613 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 43/100
UnitTestBot/usvm#604 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
UnitTestBot/usvm#592 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de UnitTestBot/usvm
Issues similaires
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 67/100
Les mainteneurs répondent en général sous 1 jour
-
afk-ok area:agents size:S
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
enorm-labs/event-junkie#3523 ·
Les mainteneurs répondent en général sous 1 jour
-
[Submission] WeChat KidsOuvertesubmit-adaption submit-adaption-pre
Difficulté 1/5 Moins d'une heure Accessibilité débutants 82/100
BetterAndroid/android-notification-icon-project#750 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
lysine-dev/okhttp#9797 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
openbase/planetsudo.engine#107 ·
Les mainteneurs répondent en général sous 1 jour