public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/26] rv/rvgen: Robustness, modernization, and fixes
@ 2026-01-19 20:45 Wander Lairson Costa
  2026-01-19 20:45 ` [PATCH 01/26] rv/rvgen: introduce AutomataError exception class Wander Lairson Costa
                   ` (26 more replies)
  0 siblings, 27 replies; 95+ messages in thread
From: Wander Lairson Costa @ 2026-01-19 20:45 UTC (permalink / raw)
  To: Steven Rostedt, Gabriele Monaco, Nam Cao, Wander Lairson Costa,
	open list, open list:RUNTIME VERIFICATION (RV)

This patch series introduces a number of fixes and improvements to the
RV Generator (rvgen) tool in tools/verification. The primary goal is to
enhance the tool's robustness, maintainability, and correctness by
addressing several latent bugs, modernizing the Python codebase, and
improving its overall structure and error handling.

The changes can be broadly categorized into several areas. A number of
bugs have been fixed, including logic errors in DOT file validation, an
incorrect isinstance check, and several unbound variable errors that
could lead to runtime crashes. Exception handling is now more robust
with the introduction of a custom AutomataError class and the removal
of dangerous bare except clauses that could mask underlying issues. The
codebase has also been updated to use contemporary Python idioms such
as f-strings and context managers for file I/O.

Finally, a general cleanup pass removes dead code, adds missing abstract
method stubs to satisfy class interfaces, and introduces type
annotations to resolve pyright errors and improve static analysis.
Together, these changes make the rvgen tool more reliable, easier to
debug, and more approachable for future development and maintenance.

Wander Lairson Costa (26):
  rv/rvgen: introduce AutomataError exception class
  rv/rvgen: remove bare except clauses in generator
  rv/rvgen: replace % string formatting with f-strings
  rv/rvgen: replace __len__() calls with len()
  rv/rvgen: remove unnecessary semicolons
  rv/rvgen: use context managers for file operations
  rv/rvgen: replace __contains__() with in operator
  rv/rvgen: simplify boolean comparison
  rv/rvgen: replace inline NotImplemented with decorator
  rv/rvgen: fix typos in automata docstring and comments
  rv/rvgen: fix typo in generator module docstring
  rv/rvgen: fix PEP 8 whitespace violations
  rv/rvgen: fix DOT file validation logic error
  rv/rvgen: remove redundant initial_state removal
  rv/rvgen: use class constant for init marker
  rv/rvgen: fix unbound initial_state variable
  rv/rvgen: fix possibly unbound variable in ltl2k
  rv/rvgen: add fill_tracepoint_args_skel stub to ltl2k
  rv/rvgen: add abstract method stubs to Container class
  rv/rvgen: refactor automata.py to use iterator-based parsing
  rv/rvgen: remove unused sys import from dot2c
  rv/rvgen: remove unused __get_main_name method
  rv/rvgen: add type annotations to fix pyright errors
  rv/rvgen: make monitor arguments required in rvgen
  rv/rvgen: fix isinstance check in Variable.expand()
  rv/rvgen: extract node marker string to class constant

 tools/verification/rvgen/__main__.py        |  36 ++---
 tools/verification/rvgen/dot2c              |   1 -
 tools/verification/rvgen/rvgen/automata.py  | 155 +++++++++++++-------
 tools/verification/rvgen/rvgen/container.py |  12 ++
 tools/verification/rvgen/rvgen/dot2c.py     |  64 ++++----
 tools/verification/rvgen/rvgen/dot2k.py     |  32 ++--
 tools/verification/rvgen/rvgen/generator.py | 141 ++++++++----------
 tools/verification/rvgen/rvgen/ltl2ba.py    |  54 ++++---
 tools/verification/rvgen/rvgen/ltl2k.py     |  36 ++---
 tools/verification/rvgen/rvgen/utils.py     |  36 +++++
 10 files changed, 322 insertions(+), 245 deletions(-)
 create mode 100644 tools/verification/rvgen/rvgen/utils.py

-- 
2.52.0


^ permalink raw reply	[flat|nested] 95+ messages in thread

end of thread, other threads:[~2026-01-23 14:04 UTC | newest]

Thread overview: 95+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-19 20:45 [PATCH 00/26] rv/rvgen: Robustness, modernization, and fixes Wander Lairson Costa
2026-01-19 20:45 ` [PATCH 01/26] rv/rvgen: introduce AutomataError exception class Wander Lairson Costa
2026-01-20  7:33   ` Gabriele Monaco
2026-01-20 12:39     ` Wander Lairson Costa
2026-01-20 15:08       ` Gabriele Monaco
2026-01-22 14:39         ` Nam Cao
2026-01-19 20:45 ` [PATCH 02/26] rv/rvgen: remove bare except clauses in generator Wander Lairson Costa
2026-01-20 10:05   ` Gabriele Monaco
2026-01-22 14:43   ` Nam Cao
2026-01-19 20:45 ` [PATCH 03/26] rv/rvgen: replace % string formatting with f-strings Wander Lairson Costa
2026-01-20 10:02   ` Gabriele Monaco
2026-01-22 14:46   ` Nam Cao
2026-01-19 20:45 ` [PATCH 04/26] rv/rvgen: replace __len__() calls with len() Wander Lairson Costa
2026-01-20  7:41   ` Gabriele Monaco
2026-01-22 14:46   ` Nam Cao
2026-01-19 20:45 ` [PATCH 05/26] rv/rvgen: remove unnecessary semicolons Wander Lairson Costa
2026-01-20  7:42   ` Gabriele Monaco
2026-01-22 14:47   ` Nam Cao
2026-01-19 20:45 ` [PATCH 06/26] rv/rvgen: use context managers for file operations Wander Lairson Costa
2026-01-20  7:44   ` Gabriele Monaco
2026-01-22 14:50   ` Nam Cao
2026-01-19 20:45 ` [PATCH 07/26] rv/rvgen: replace __contains__() with in operator Wander Lairson Costa
2026-01-20  7:45   ` Gabriele Monaco
2026-01-22 14:51   ` Nam Cao
2026-01-19 20:45 ` [PATCH 08/26] rv/rvgen: simplify boolean comparison Wander Lairson Costa
2026-01-20  7:48   ` Gabriele Monaco
2026-01-22 14:51   ` Nam Cao
2026-01-19 20:45 ` [PATCH 09/26] rv/rvgen: replace inline NotImplemented with decorator Wander Lairson Costa
2026-01-21 13:43   ` Gabriele Monaco
2026-01-21 17:49     ` Wander Lairson Costa
2026-01-22 14:57   ` Nam Cao
2026-01-19 20:45 ` [PATCH 10/26] rv/rvgen: fix typos in automata docstring and comments Wander Lairson Costa
2026-01-22 14:58   ` Nam Cao
2026-01-19 20:45 ` [PATCH 11/26] rv/rvgen: fix typo in generator module docstring Wander Lairson Costa
2026-01-20  7:51   ` Gabriele Monaco
2026-01-22 14:59   ` Nam Cao
2026-01-19 20:45 ` [PATCH 12/26] rv/rvgen: fix PEP 8 whitespace violations Wander Lairson Costa
2026-01-20  7:53   ` Gabriele Monaco
2026-01-22 14:59   ` Nam Cao
2026-01-19 20:45 ` [PATCH 13/26] rv/rvgen: fix DOT file validation logic error Wander Lairson Costa
2026-01-20  7:56   ` Gabriele Monaco
2026-01-22 15:01   ` Nam Cao
2026-01-19 20:45 ` [PATCH 14/26] rv/rvgen: remove redundant initial_state removal Wander Lairson Costa
2026-01-20  8:01   ` Gabriele Monaco
2026-01-20 12:05     ` Wander Lairson Costa
2026-01-19 20:45 ` [PATCH 15/26] rv/rvgen: use class constant for init marker Wander Lairson Costa
2026-01-20  8:06   ` Gabriele Monaco
2026-01-22 15:02   ` Nam Cao
2026-01-19 20:45 ` [PATCH 16/26] rv/rvgen: fix unbound initial_state variable Wander Lairson Costa
2026-01-20  8:21   ` Gabriele Monaco
2026-01-20 11:42     ` Wander Lairson Costa
2026-01-20 11:53       ` Gabriele Monaco
2026-01-19 20:45 ` [PATCH 17/26] rv/rvgen: fix possibly unbound variable in ltl2k Wander Lairson Costa
2026-01-20  8:59   ` Gabriele Monaco
2026-01-20 11:37     ` Wander Lairson Costa
2026-01-20 12:30       ` Gabriele Monaco
2026-01-20 19:38         ` Wander Lairson Costa
2026-01-21  6:31           ` Gabriele Monaco
2026-01-22 15:31   ` Nam Cao
2026-01-19 20:45 ` [PATCH 18/26] rv/rvgen: add fill_tracepoint_args_skel stub to ltl2k Wander Lairson Costa
2026-01-21 13:57   ` Gabriele Monaco
2026-01-21 17:53     ` Wander Lairson Costa
2026-01-22 13:10       ` Wander Lairson Costa
2026-01-22 13:49         ` Gabriele Monaco
2026-01-23 12:19           ` Wander Lairson Costa
2026-01-23 12:26             ` Gabriele Monaco
2026-01-23 14:04               ` Wander Lairson Costa
2026-01-19 20:45 ` [PATCH 19/26] rv/rvgen: add abstract method stubs to Container class Wander Lairson Costa
2026-01-21 13:59   ` Gabriele Monaco
2026-01-21 17:56     ` Wander Lairson Costa
2026-01-22 15:33     ` Nam Cao
2026-01-19 20:45 ` [PATCH 20/26] rv/rvgen: refactor automata.py to use iterator-based parsing Wander Lairson Costa
2026-01-20  9:43   ` Gabriele Monaco
2026-01-22 15:35     ` Nam Cao
2026-01-22 15:40       ` Gabriele Monaco
2026-01-22 16:01         ` Nam Cao
2026-01-19 20:45 ` [PATCH 21/26] rv/rvgen: remove unused sys import from dot2c Wander Lairson Costa
2026-01-20  9:16   ` Gabriele Monaco
2026-01-19 20:45 ` [PATCH 22/26] rv/rvgen: remove unused __get_main_name method Wander Lairson Costa
2026-01-20  9:08   ` Gabriele Monaco
2026-01-19 20:45 ` [PATCH 23/26] rv/rvgen: add type annotations to fix pyright errors Wander Lairson Costa
2026-01-22 15:43   ` Nam Cao
2026-01-19 20:46 ` [PATCH 24/26] rv/rvgen: make monitor arguments required in rvgen Wander Lairson Costa
2026-01-20  9:07   ` Gabriele Monaco
2026-01-22 15:44   ` Nam Cao
2026-01-19 20:46 ` [PATCH 25/26] rv/rvgen: fix isinstance check in Variable.expand() Wander Lairson Costa
2026-01-22 15:53   ` Nam Cao
2026-01-19 20:46 ` [PATCH 26/26] rv/rvgen: extract node marker string to class constant Wander Lairson Costa
2026-01-20  9:03   ` Gabriele Monaco
2026-01-20 11:34     ` Wander Lairson Costa
2026-01-20 12:36       ` Gabriele Monaco
2026-01-20 13:11         ` Gabriele Monaco
2026-01-20 18:56           ` Wander Lairson Costa
2026-01-21  6:16             ` Gabriele Monaco
2026-01-20  7:20 ` [PATCH 00/26] rv/rvgen: Robustness, modernization, and fixes Nam Cao

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox