Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

[TS] Construct function-typed input values for symbolic execution

Ouverte
#462 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

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

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

enhancement

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 kind from 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 typeof behavior 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

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de UnitTestBot/usvm

Toutes les issues de UnitTestBot/usvm

Issues similaires

Plus d'issues Kotlin

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.