github / github/codeql

[cpp] Check whether path between function A and function B exists

Ouverte
#19,830 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
question
Langage dominant
CodeQL
Étoiles
10.1k
Forks
2.1k
Merge moyen
2 j 15 h
PR mergées (30 j)
141

Description

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!

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Aucun fichier ni test du dépôt n’est nommé. Commencez par examiner le prédicat récursif à l’aide de `Function.calls` et des points d’entrée disponibles de l’API DataFlow ; la tâche est terminée lorsqu’une approche efficace pour vérifier les appels directs ou transitifs dans le cas C++ non virtuel indiqué a été identifiée et documentée.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
cpp
Domaine
tooling
Type d'issue
Documentation
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
20/100

Recevez les nouvelles issues par e-mail

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