-
Notifications
You must be signed in to change notification settings - Fork 198
Merging PEx into the Major release P 3.0 branch. #860
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
199 commits
Select commit
Hold shift + click to select a range
c68f93f
Removed the C backend completely in the P 2.1
ankushdesai 7ad7b99
Upgraded P to use .Net 8.0
ankushdesai 624f88e
Updated the actions to .Net 8.0
ankushdesai 7aa3930
[PSym] Upgrade to .NET 8.0
aman-goel 6e7ad32
[PCover] Adds temporary CLI mode to trigger new explicit engine
aman-goel 54cee03
[PCover] Adds initial version of cleaned up PCover backend
aman-goel 61fe942
[PCover] Minor
aman-goel 58b58aa
[PCover IR] Cleans up logic relating to event handlers
aman-goel 3e34ea0
[CLI] Adds new pcover cli (hidden)
aman-goel 32c6e03
[PCover IR] Cleanup IR for sending event, machine creation, etc.
aman-goel efc656a
[PCover runtime] Adds basic runtime setup files
aman-goel 7cc8930
[PCover] Adds placeholder for CLI config
aman-goel a76ec69
[PCover] Adds main and trace loggers using Log4J
aman-goel c82066a
[PCover] Adds event buffer represented as fifo queue with sender sema…
aman-goel ff2122a
[PCover] Adds event handler placeholders
aman-goel 2d302ef
[PCover] Adds event/message placeholders
aman-goel 0983ae8
[PCover] Adds basic code for machine/state/test driver
aman-goel 8a76568
[PCover] Adds basic code for scheduler
aman-goel 017f169
[PCover] Adds global data structures and program interface
aman-goel eb847fc
[PCover] Adds utils
aman-goel 137e103
Merge branch 'master' into dev/aman
aman-goel f2c2ffa
[PCover IR] Minor renaming
aman-goel 43b5dcf
Merge remote-tracking branch 'origin/master' into dev/aman
aman-goel b1f7b5d
[PCover] Adds PValues for P data types
aman-goel 947fce0
[PCover] Renaming and minor corrections
aman-goel 15c41cb
[PCover] Minor update to javadocs
aman-goel 8a1777a
[PCover] Reformating
aman-goel b5e2d79
[PCover IR+RT] Rename Message to PMessage
aman-goel e7cf32b
Merge branch 'master' into dev/aman
aman-goel b8f25d5
[CLI] Minor correction
aman-goel 897b64f
[PExplicit] Renames new PCover to PExplicit
aman-goel ad86551
Merge branch 'master' into dev/aman
aman-goel cfca4db
[PExplicit] Minor correction to CLI
aman-goel 39a44dd
[PExplicit RT] Rename repeat to current, backtrack to unexplored choices
aman-goel 6220cb7
Merge branch 'master' into dev/aman
aman-goel 95d2ba9
Merge changes from master
aman-goel 5d16c6a
[PExplicit RT] Adds CLI options and config
aman-goel 9677035
[PExplicit RT] Adds new exceptions when a bug is found
aman-goel 7e7b141
[PExplicit RT] Adds timeout/memout monitors
aman-goel 0d43c6a
[Pexplicit RT] Adds utils for timed call, random number generator, an…
aman-goel 1648ee3
[Pexplicit RT] Adds more logging functions
aman-goel 008eeea
[PExplicit RT] Updates machine and message queues to check if machine…
aman-goel 82fbcb6
[PExplicit RT] Add function to check if an event is a create machine …
aman-goel 6653eda
[PExplicit RT] Improve choices and schedule fields
aman-goel b8ad8c0
[PExplicit RT] Implements main PExplicit fentry point, runtime execut…
aman-goel 5eadaaf
[PExplicit RT] Updates loggers
aman-goel a343ca7
[PExplicit RT] Implements and cleans up certain PMachine/State functions
aman-goel 8258fec
[PExplicit RT] Adds initial version of scheduler
aman-goel cc58992
[PExplicit RT] Implements basic machine/scheduler/FIFO functions
aman-goel 743019e
[PExplicit RT] Adds initial support for stateless dfs-style backtracking
aman-goel 01c93bf
[PExplicit IR] Removes StringVS
aman-goel 35a40e3
[PExplicit RT] Corrects basic dfs-search
aman-goel 9e9a9e0
[PExplicit RT] Improves how peeking into a machine's FIFO queue works
aman-goel e8d6488
[PExplicit] Support formatted PString, initial support for defers and…
aman-goel a5044d1
[PExplicit RT] Adds support for defers and blocking receive
aman-goel 09ef830
[PExplicit] Adds support for receives, loops, and named tuple constru…
aman-goel e4d6a54
[PExplicit] Implements operations for primitive PValue types
aman-goel e8d47cb
[PExplicit] Adds running mvn test and github ci action
aman-goel 7793dc2
[PExplicit RT] Implement raising an event
aman-goel c7a9ff6
Disable GitHub CI actions temporarily to only run PExplicit CI
aman-goel 42ed799
[PExplicit] Several minor updates
aman-goel ce02120
[PExplicit] Support announce, correct named tuple set ffield, support…
aman-goel c281c85
[PExplicit] Several corrections
aman-goel 52369d5
[PExplicit] Correct raise event with payload
aman-goel f2a2131
[PExplicit] Correct PString constructor
aman-goel b09a326
[PExplicit IR] Exit current flow context if raise or goto statements …
aman-goel ca47c6e
Update gitignore
aman-goel bacf312
[PExplicit] Several corrections
aman-goel 8ca49fc
[PExplicit] Support enum references with values specified
aman-goel 51bf48e
[PExplicit IR] Correct dynamic type casting in IR
aman-goel eeeec67
Suppress github ci failures due to not running them on current branch
aman-goel a8a1436
[PExplicit] Cleaned up type casting in IR
aman-goel 98036b5
[PExplicit] Support continue statement
aman-goel 23a1442
[PExplicit] Several small upgrades
aman-goel b4ac6d1
[PExplicit] Several corrections and minor lang feature support
aman-goel 0f3bb3c
[PExplicit] Refactoring and cleanup
aman-goel a03435b
Undo temporary changes to GitHub CI
aman-goel 1eb2605
[PExplicit] Update pom, minor refactoring
aman-goel 0715145
[PExplicit] Update to java 17
aman-goel ffadabd
[PExplicit] Minor: report class cast exception as a bug
aman-goel e14816e
[PExplicit] Convert run status to enum
aman-goel cb4b0ce
[PExplicit] Clean up control flow relating to pending state transitio…
aman-goel 2535e6e
[PExplicit] Update comments
aman-goel 3a7ca5c
Added support for generating a warning when spec handles an event but…
ankushdesai 4d5246c
Create custom converter for JSON serialization in .NET8 (#717)
ehua9146 70b3d7d
[PExplicit] Support deadlock and liveness checking
aman-goel 70fa106
[PExplicit] Minor
aman-goel 29b836d
[PExplicit] Adds buggy trace replayer and basic .schedule writer
aman-goel 95472af
[PExplicit] Correct issues when replaying buggy trace
aman-goel 05eb083
[PExplicit] Adds TextWriter to write trace in txt format
aman-goel fec352d
[PExplicit] Correct halt event name
aman-goel 43ac067
[PExplicit] Adds state caching
aman-goel dde413d
[PExplicit] Minor refactoring
aman-goel 283d89b
[PExplicit] Correct cycle error in replayer, enforce cycle detection …
aman-goel 1a5d544
[PExplicit] Correct local var names in IR
aman-goel 5da214c
[PExplicit] Correct replayer, add initial version of stateful backtra…
aman-goel de002e2
[PExplicit] Correct backtracking
aman-goel f6f37a4
[PExplicit] Refactor and enable stateful backtracking
aman-goel 6a8272a
[PExplicit] Minor improvement to stateful backtracking
aman-goel 0ff5bcb
[PExplicit] Reformat code
aman-goel b43053f
[PExplicit] More reformatting
aman-goel 105152b
[PExplicit] Minor corrections
aman-goel b153bfc
[PExplicit] Correct PMachine/PMonitor hashCode and compateTo functions
aman-goel 8785dde
[PExplicit] Uniquify instanceId for PMachine as well as PMonitor
aman-goel a2f0ac6
[PExplicit] Improve state caching
aman-goel 6682d9f
[PExplicit] Add non-chronological search
aman-goel 4cf0e22
[Pexplicit] Minor
aman-goel 6ac0535
[PExplicit] Minor refactoring
aman-goel a71d77e
[PExplicit] Refactoring and cleanup
aman-goel d79c62f
Limit number of choices in choose expression to at most 10000 (#725)
aman-goel 885c818
Make PEvents and PTypes serializable in java (#726)
mchadalavada fa8e6c5
[PExplicit IR] Minor correction
aman-goel 288b966
[PExplicit] Update usage via P CLI
aman-goel 7c0d346
[PExplicit] Several corrections to choice tracking
aman-goel 8ecc0cf
[PExplicit] Minor refactoring
aman-goel feaf6c4
[PExplicit] Refactoring and setting defaults
aman-goel 41ae6e8
[PExplicit] Correct counting unexplored choices
aman-goel 5a5fab6
[PExplicit] Minor changes to logging and asserts
aman-goel fa567d1
[PExplicit] Throw error if number of choices in choose(.) exceeds 10K
aman-goel 199a0e1
[PExplicit] Correct stateful backtracking with complex data choices
aman-goel 22805e4
[PEx] Minor update
aman-goel 4bee066
[PEx] Support Java foreign functions
aman-goel 1120480
[PEx] Minor corrections to IR
aman-goel cfb47f5
[PEx] Minor: correct an assertion
aman-goel c405fae
[PEx] Make receive inside while as not implemented for now
aman-goel dcf2b44
[PEx] Experimenting with while and receive in IR
aman-goel 4637281
[PEx] Correct corner cases with while, receive, and after statements
aman-goel 8819bab
[Tst] Add unit test to check interaction between while, receive w/ ca…
aman-goel 79827f5
Removed the C backend completely in the P 2.1
ankushdesai 4debbcb
[PCover] Adds temporary CLI mode to trigger new explicit engine
aman-goel 3bb07b5
[CLI] Adds new pcover cli (hidden)
aman-goel f16c473
[PExplicit] Renames new PCover to PExplicit
aman-goel 73525f9
Correct sync with mainline
aman-goel 6cfb438
Merge remote-tracking branch 'origin/master' into dev/pexplicit_checker
aman-goel c150243
[PEx] Revamps tracking unexplored choices, changes schedule choice (#…
aman-goel 9d7199f
[PEx] Adds modes for stateful backtracking
aman-goel 4565eda
[PEx] Add support to serialize and deserialize search tasks in/from file
aman-goel c02f0ed
[PEx] Updates mvn test config
aman-goel ae1c6a0
[PEx] Minor correction
aman-goel d8a4914
[PEx IR] Minor correction
aman-goel ec6f249
[PEx] Several improvements to IR
aman-goel 862e757
[PEx IR] Minor cleanup
aman-goel f0f6af1
[PEx] Cleanup disk tasks on exit, change defaults
aman-goel 8ffaae7
[PEx] Minor: create .schedule only if bug is found
aman-goel bb8eb8f
[PEx] Adds writing buggy trace in file
aman-goel c46622b
[PEx] Adds option --replay <.schedule file> to replay a buggy trace
aman-goel b23a51f
[PEx] Minor
aman-goel 6f733d4
[PEx] Fix serialization issues found by P regression tests
aman-goel b6b5828
[PEx] Minor cleanup
aman-goel 261d289
[PEx] Improve cleanup of disk tasks on exit
aman-goel ad40c1c
[PEx] Minor correction
aman-goel 0174966
[PEx] Add first version of RL-based choice selection
aman-goel 83a90b2
[PEx] Correct timelines tracking and RL-based choice selection
aman-goel 5d5954c
[PEx] Update timelines, corrects CI
aman-goel d47217b
[PEx] Renaming and refactoring
aman-goel b8cb0e2
[CLI] Update PEx CLI options
aman-goel 8dbc657
[CLI] Cleanup PEx CLI options
aman-goel 43837a3
[CI] Correct PEx CI
aman-goel 9697061
[PEx] Add support for refinement interfaces
aman-goel d3b603c
[Tutorial] Adds updates for running with PEx
aman-goel 8da2326
[PEx] Minor: update pom.xml
aman-goel ed1b209
[PEx] Implements multi-threaded PEx version (#768)
aman-goel 2f47cba
[PEx] Adds tracking and limiting number of choices per choose(.) stat…
aman-goel 44d8786
[PEx] bump version, change cli defaults
aman-goel bbdd445
[PEx] code cleanup and refactoring
aman-goel c9d550e
[PEx] minor logging changes, [Tst] Change choose(100) to choose(10)
aman-goel c534e9e
[PEx] Minor logging changes
aman-goel 2da5298
[PEx] Changes return codes
aman-goel 199ffec
[PEx] Correct return codes, [Tst] Limit choose choices
aman-goel 5c8abf0
[Tutorial] Update hints for PEx
aman-goel ad66ede
[PEx] Minor updates and cleanup (#775)
aman-goel 3b738e1
[PEx] Minor correction
aman-goel 4339eb7
[PEx] Correct repeated local var declaration in IR
aman-goel 80227b0
[PEx] Correct code too large error due to receive-inside-loop inlining
aman-goel 8c16929
[PEx] Adds PLoopObject to track receive-loop variables
aman-goel 1a65fa5
[PEx] Minor: correct defaults in help menu
aman-goel f5ebff3
merge branch major/P3.0 into dev/pexplicit_checker
3106eab
modified cache@v2 to cache@v4
34e7bf5
Rename PEvent to Event, Handle PrimitiveType.Null in GetDefaultValue
07816fe
[PEx] Correct functions containing non-tail ending goto/raise (#835)
aman-goel 0185ff5
[PEx] Correct inlining for functions returning a value (#840)
aman-goel fdd034d
Merge branch master into dev_p3.0/pex
1cec9d0
Merge branch 'dev_p3.0/pex' into inprogress/pex
aishu-j 8d129eb
removed CSharp, Java modes in CompilerOutput , removed global.json
4e9807f
Minor changes to make customer model to compile (#842)
ChristineZh0u 65b4c33
Merge pull request #841 from p-org/inprogress/pex
aishu-j f6b4c95
[PEx] Disable support for receive statement inside loop (#843)
aman-goel 55a1199
Dev/remove libhandler (#847)
ankushdesai c5c6c72
Update build system and Java compiler, remove dependency JARs (#849)
ankushdesai cf2c84f
[PEx] Correct inlining functions with non-null return without assignm…
aman-goel 28833bf
Merge branch 'master' into major/P3.0
ankushdesai a017510
Merge branch 'major/P3.0' into dev_p3.0/pex
ankushdesai 99825a3
Moved PEx outside the PRuntimes
ankushdesai 079cd1f
Update pex.yml
ankushdesai 92b27f3
Update build scripts and test executor; add build documentation
ankushdesai 4e13fd6
Fix Java version to 17 and correct P build directory path
ankushdesai a03febc
Fix Java version to 17 and correct P build directory path
ankushdesai 70df7a6
Pex param test (#855)
zhezhouzz adee201
PR #860 Fixes: Removed Coverage and Verification modes, fixed code qu…
ankushdesai File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
# This workflow will build and test PEx, and cache/restore any dependencies to improve the workflow execution time | ||
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven | ||
|
||
name: PEx on Ubuntu | ||
|
||
on: | ||
push: | ||
pull_request: | ||
workflow_dispatch: | ||
inputs: | ||
args: | ||
description: Additional arguments | ||
default: "" | ||
required: false | ||
jobs: | ||
PEx-Build-And-Test-Ubuntu: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v1 | ||
- name: Setup .NET Core | ||
uses: actions/setup-dotnet@v1 | ||
with: | ||
dotnet-version: 8.0.x | ||
- name: Set up JDK | ||
uses: actions/setup-java@v1 | ||
with: | ||
java-version: 17 | ||
- name: Cache Maven packages | ||
uses: actions/cache@v4 | ||
with: | ||
path: ~/.m2 | ||
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} | ||
restore-keys: ${{ runner.os }}-m2 | ||
- name: Build PEx | ||
working-directory: Src/PEx | ||
run: ./scripts/build_and_test.sh --build | ||
- name: Test PEx | ||
working-directory: Src/PEx | ||
run: ./scripts/build_and_test.sh --test |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -230,6 +230,7 @@ Bld/* | |
!Bld/Jars/ | ||
!Bld/Deps/ | ||
PGenerated/ | ||
PCheckerOutput/ | ||
!Src/**/Zing/*.zing | ||
stubs.c | ||
*.idb | ||
|
This file was deleted.
Oops, something went wrong.
Submodule libhandler
deleted from
0f1e36
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] This workflow uses an outdated actions/checkout version. Consider upgrading to 'actions/checkout@v3' for better performance and security.
Copilot uses AI. Check for mistakes.