Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

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

Aberta
#462 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
55/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
kotlin, node.js, typescript
Domínio
compilers, testing-qa

Direção de pesquisa

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.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

enhancement

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.

Linguagem predominante
Kotlin
Estrelas
33
Forks
27
Merge médio
2d 20h
PRs com merge (30d)
10

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de UnitTestBot/usvm

Todas as issues de UnitTestBot/usvm

Issues semelhantes

Mais issues de Kotlin

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.