Dans une première phase, je collecte une liste de contraintes. Ensuite, je voudrais stocker cette "session", c'est-à-dire toutes les contraintes mais aussi toutes les variables associées dans un fichier pour pouvoir, dans un deuxième temps, relire les contraintes et les affirmer, voire les annuler avant d'affirmer.Quelle est la meilleure façon de rejouer une "session"
Quelle est la meilleure façon (rapide et fiable) de stocker une telle "session" dans un fichier, et de la relire? Est-ce que l'API Z3_parse_smtlib2_file() serait la bonne? J'ai essayé l'API Z3_open_log(), mais je ne trouve pas l'API pour lire le fichier journal généré par Z3_open_log(). Et qu'en est-il de z3_log_replay(). Cette API ne semble pas encore exposée.
Merci d'avance.
AG
Vous avez raison, la relecture est réputée pour l'analyse de débogage. Votre hack devrait fonctionner très bien. Nous prévoyons éventuellement de fournir des fonctions pour sérialiser les objets Z3. L'infrastructure de journalisation n'est pas idéale pour cela (par exemple, supposons que nous voulons simplement stocker l'une des nombreuses expressions que nous avons construites). De plus, le journal n'est pas simplement un instantané d'un état Z3 'S', mais un journal de toutes les opérations qui ont été exécutées pour atteindre' S'. –
Un an plus tard, ce déplacement a-t-il été effectué (sérialisation des objets Z3)? – Heyji
Non, cette fonctionnalité n'est pas encore disponible. –