[cpp] Check whether path between function A and function B exists
- Lenguaje dominante
- CodeQL
- Estrellas
- 10.1k
- Forks
- 2.1k
- Merge medio
- 2 d 15 h
- PR fusionados (30 d)
- 141
Descripción
Hi! I'm trying to write a query that checks whether function A can call (directly or transitively) function B. I've implemented it with recursive predicate that uses `Function.calls`. It works, but is slow. I suspect DataFlow API can be handy but couldn't produce working query yet. I'm dealing with fairly simple cpp code that doesn't use virtual functions, doesn't use pointer arithmetic, so DataFlow might be a bit too excessive for my task. I wonder what is the most efficient way to solve this problem. Thanks!
Guía de contribución
Línea de trabajo
No repository file or test is named. Start by examining the recursive predicate using `Function.calls` and the available DataFlow API entry points; done means identifying and documenting an efficient approach for checking direct or transitive calls in the stated non-virtual C++ case.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- cpp
- Área
- tooling
- Tipo de issue
- Documentación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 20/100