[TS PBT] Challenge context-scoped observed function summaries during symbolic search
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 30/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- kotlin, typescript
- Área
- devtools, testing-qa
Línea de trabajo
Start by reading the completed core contracts from #355 and the assessment required by #405, then inspect the existing call-policy implementation and the work in #397/#398. Define a separately identifiable extension configuration and compare it with the extension disabled. Done means a context-specific helper relation is challenged and refined or refuted, misuse and stale or side-effecting cases are covered, and results are reported separately through #357.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Implementation child of #345 and a required stage-two bounded extension. Owns helper-summary integration with the completed #355 core; it is not a core completion blocker. Builds on #397/#398 and the existing call-policy implementation; do not reopen or duplicate the TS Calls experiment in #360/#385.
Delivery stage
This is a stage-two extension of #345. Complete and record the core assessment in #405 before accepting this extension's end-to-end integration and results. Literature, interface design and focused experiments may start earlier; the extension never blocks #355 or #405.
Reuse the completed core contracts. This issue owns any extension-specific changes to observation, binding, scheduling, replay, shrinking and feedback integration, with focused follow-up PRs; do not retroactively broaden #351/#352 or require already completed core issues to reopen. A negative or inconclusive pilot is recorded honestly and informs design; it does not silently cancel this full-roadmap obligation.
Publish a separately identifiable extension configuration and evaluate it against the same original oracle with the extension disabled. Its final held-out evaluation belongs to #357 and is reported separately from the development pilot.
Goal
Test whether property-relevant observations at internal call boundaries can improve interprocedural search without promoting sampled behavior to a trusted universal contract.
Scope
- Implement a bounded subset of deterministic pure helpers with supported scalar/collection-length relations. Record callee/source hash, call site, caller/property context, input support and observed result relation.
- Derive summaries from original-runtime observations through #397. Preserve alias/mutation/read dependencies by restricting unsupported cases explicitly; do not model side-effecting helpers as pure.
- Primary use: prioritize call contexts and generate counterexample goals to a summary at the real helper implementation via #398.
- Evaluate speculative summary substitution only as an isolated explicit mode. It must carry assumptions into every candidate, have original-runtime replay and a budgeted no-summary search path. It cannot prove absence of bugs or justify marking paths infeasible.
- Refine/invalidate summaries with replay counterexamples and source/context changes. Keep different call contexts separate; one context's evidence cannot constrain another without justification.
- Reuse existing TS call models/policies and record them in configuration. Hold these policies constant across PBT-feedback comparisons so gains are not attributed to unrelated semantic-model improvements.
Definition of Done
- At least one context-specific helper relation is observed, challenged in USVM and refined or concretely refuted.
- A fixture detects misuse across call sites or outside observed input support; side effects and stale revisions are explicit.
- Required challenge/prioritization mode works without trusting summaries as hard contracts.
- #357 measures whether context-scoped summaries add to entry-only relations, including cost and misleading-summary cases. Speculative substitution may be rejected by evidence, with the negative result retained.
- Lenguaje dominante
- Kotlin
- Estrellas
- 33
- Forks
- 27
- Merge medio
- 3 d 8 h
- PR fusionados (30 d)
- 7
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
-
enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
UnitTestBot/usvm#440 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
UnitTestBot/usvm#439 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 3/5 1-2 días Aptitud para principiantes 70/100
UnitTestBot/usvm#438 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 3/5 1-2 días Aptitud para principiantes 72/100
UnitTestBot/usvm#437 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 62/100
UnitTestBot/usvm#436 ·
Los mantenedores suelen responder en 1 día
Todos los issues de UnitTestBot/usvm
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
home-assistant/android#7561 ·
Los mantenedores suelen responder en 1 día
-
contributor: external needs review
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
fwcd/tree-sitter-kotlin#289 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
navikt/syfo-oppfolgingsplan-backend#482 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100