Skip to content

Fixed and tested vt. Removed UB in vt module.#1

Closed
pkesseli wants to merge 1 commit intodiffblue:masterfrom
pkesseli-archive:vtable
Closed

Fixed and tested vt. Removed UB in vt module.#1
pkesseli wants to merge 1 commit intodiffblue:masterfrom
pkesseli-archive:vtable

Conversation

@pkesseli
Copy link
Contributor

Fixed and tested vt. Removed UB in vt module. Lots of format changes in java_bytecode_vtable.cpp to make it compliant with curent CBMC coding guideline.

@tautschnig
Copy link
Collaborator

Hi Pascal,
Great work, I'll leave it to @kroening to comment on most of the patch contents. For future patch sets, would it be possible to split out whitespace/formatting-only changes into a separate patch? This greatly simplifies reviewing and any potential future debugging.
Best,
Michael

@tautschnig
Copy link
Collaborator

This has been merged in 23aaf82, closing.

@tautschnig tautschnig closed this Mar 5, 2016
@pkesseli pkesseli deleted the vtable branch March 10, 2016 11:06
smowton referenced this pull request in smowton/cbmc Jan 3, 2017
Do not partially inline functions called from _start

This allows us to unambiguously identify the binding of the arguments 
to the parameters of entry point function.
mariusmc92 pushed a commit to mariusmc92/cbmc that referenced this pull request Mar 9, 2017
Updated LVSA data structures for Recency Analysis
polgreen referenced this pull request in polgreen/cbmc Nov 14, 2017
owen-mc-diffblue pushed a commit that referenced this pull request Mar 20, 2019
We should keep the struct tag type, not follow it and get the struct type
tautschnig pushed a commit that referenced this pull request Mar 21, 2019
We should keep the struct tag type, not follow it and get the struct type
zlfben pushed a commit to zlfben/cbmc that referenced this pull request May 13, 2021
I merged our code together and added a simple json parser (not completed but working).
kroening pushed a commit that referenced this pull request Mar 10, 2026
Move four extreme outlier tests from CORE to THOROUGH to reduce CI
wall-clock time. These tests were identified by analysing 5 recent
'Build and Test CBMC' workflow runs across macOS-14, Windows (VS 2022
and VS 2025), and Linux.

Tests moved to THOROUGH:

1. jbmc-strings/StringSubstring/test.desc
   - macOS-14 ARM: 1950s (32.5 min), Linux: 3s — 650x slower
   - Single biggest contributor to the jbmc-strings-symex-driven-lazy-
     loading-CORE suite (avg 1h26m on macOS-14), which is the #1
     bottleneck in the entire CI pipeline
   - Also affects jbmc-strings-CORE (29s on macOS-14 vs 3s on Linux)

2. book-examples/pid/C11.desc
   - macOS-14 ARM: 1069s (17.8 min), Linux: 28s — 38x slower
   - Dominates the book-examples-cprover-smt2-CORE suite entirely
     (18 min avg on macOS-14, all from this one test)
   - Also slow in book-examples-CORE (3m14s avg on macOS-14)

3. contracts-dfcc/assigns-local-composite/test.desc
   - macOS-14: 90s, VS 2025: 114s, VS 2022: 78s, Linux: 8s
   - 10-14x slower on macOS and Windows than Linux
   - Top individual test in contracts-dfcc-CORE on all platforms

4. cbmc-incr-smt2/structs/large_array_of_struct_nondet_index.desc
   - VS 2022: 472s (7.9 min) per solver, VS 2025: 103s, Linux: fast
   - Windows-specific bottleneck; runs twice (z3 + cvc5)
   - Single biggest contributor to cbmc-incr-smt2 suite on Windows

Expected impact on the critical path (check-macos-14-cmake-clang):
- jbmc-strings-symex-driven-lazy-loading-CORE: ~1h26m -> ~54m (est.)
- book-examples-cprover-smt2-CORE: ~18m -> ~1m (est.)
- contracts-dfcc-CORE: ~13m -> ~12m (est.)
- Overall job: ~2h25m -> ~1h30m (est.)

These tests will continue to run in the THOROUGH CI job
(check-ubuntu-24_04-cmake-gcc-THOROUGH).

Co-authored-by: Kiro <kiro-agent@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants