Skip to content
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

Ben/use solang parser parse tree #30

Open
wants to merge 206 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
206 commits
Select commit Hold shift + click to select a range
53688d9
Added dependency
BenTheKush May 16, 2023
d51202c
Temp commit: Removed AST and some initial refactors before using sola…
BenTheKush May 17, 2023
58078a3
Reorganized things, boilerplate stuff
BenTheKush May 18, 2023
75c7c50
Started reimplementing mutation
BenTheKush May 18, 2023
79a0cd8
Using solang, everytrhing is broken but it compiles
BenTheKush May 27, 2023
e158f1f
fix
BenTheKush May 27, 2023
3e3b936
Temp commit: trying to remove llvm dependency
BenTheKush May 29, 2023
3c8c0f0
ROR, some small tweaks
BenTheKush May 30, 2023
7d3ab18
ROR.sol
BenTheKush May 30, 2023
bd61842
bitwise operator replacement and logical operator replacement
BenTheKush May 30, 2023
8972854
Changed benchmark dir names
BenTheKush May 30, 2023
0cced1e
LVR
BenTheKush May 31, 2023
c686ec9
UOR
BenTheKush May 31, 2023
de1a528
Typo, comments in LOR
BenTheKush May 31, 2023
80655be
Commented LVR benchmark
BenTheKush May 31, 2023
ba9e5b0
Update traversal to handle not-equals
BenTheKush May 31, 2023
896c8cf
fixed bug in operator locations
BenTheKush Jun 1, 2023
c444d75
Removed llvm dependency
BenTheKush Jun 5, 2023
ee703f5
Removed hack from not-equals relational op after pointing to fixed so…
BenTheKush Jun 5, 2023
549efc1
config-jsons
BenTheKush Jun 5, 2023
621554d
Added nicer mutation operator names
BenTheKush Jun 5, 2023
547c0ad
Many updates
BenTheKush Jun 6, 2023
c44e994
Do not delete destructure statements
BenTheKush Jun 6, 2023
4119747
Logging
BenTheKush Jun 28, 2023
f716f6f
Updated solang version
BenTheKush Jun 28, 2023
e91b74b
Updated solang version (again)
BenTheKush Jun 29, 2023
3e5085f
Temp commit: got things to build again after lots of refactors
BenTheKush Jun 30, 2023
b3f81e8
Logging
BenTheKush Jul 10, 2023
4ceecd3
Updated solang rev
BenTheKush Jul 14, 2023
28d1176
Got new paths and imports working for lor
BenTheKush Jul 18, 2023
d884f5e
Removed dumb comment
BenTheKush Jul 18, 2023
983222c
Simplified implementation of JSON parsing
BenTheKush Jul 18, 2023
20fbcd4
Reorganized so logging is in block
BenTheKush Jul 18, 2023
2209314
Removed print statemnts
BenTheKush Jul 18, 2023
0abee98
Changed logging levels
BenTheKush Jul 18, 2023
c2e6974
Comment
BenTheKush Jul 18, 2023
f71519b
Fixed mutation operator expansion, suppressed debug
BenTheKush Jul 19, 2023
d9be1e0
Updated aor.json
BenTheKush Jul 19, 2023
960ae54
Bug fix in conf file basepath
BenTheKush Jul 24, 2023
6672d47
Updated tests to match new impl
BenTheKush Jul 26, 2023
097202a
Cleaned up mutation ops, renamed elimdelmutation to elimdelcall
BenTheKush Jul 26, 2023
0ac76ba
Reorg of benchmarks (tmp commit)
BenTheKush Jul 26, 2023
343da73
Better error message on bad file path
BenTheKush Jul 26, 2023
5252edc
operator config jsons working
BenTheKush Jul 26, 2023
c4e6a88
updated multiple-contracts configs
BenTheKush Jul 26, 2023
62175cd
Reorganized configs
BenTheKush Jul 26, 2023
8c6730b
Updated regressions
BenTheKush Jul 26, 2023
5d77798
Fixed bug in benchmarks
BenTheKush Jul 26, 2023
b003096
Updated regressions
BenTheKush Jul 26, 2023
223cd37
Updated regressions
BenTheKush Jul 26, 2023
c3e6a8a
Fixed bugt in make_regressions
BenTheKush Jul 26, 2023
1172a4b
Updated version to 1.0.0
BenTheKush Jul 26, 2023
82d0637
Updated cli with deprecations, cleanre filename invocation
BenTheKush Jul 28, 2023
26d22dc
Newer solang version
BenTheKush Jul 28, 2023
1774302
Refactored main function
BenTheKush Jul 28, 2023
4125b0e
Updated confs with snake_case
BenTheKush Jul 28, 2023
87cc081
Fixed import_path bug
BenTheKush Jul 28, 2023
be23351
modified validation to only use solc values, not manually specified args
BenTheKush Jul 28, 2023
2bb2ec9
Deprecate, fixes to cli, fix test
BenTheKush Jul 28, 2023
ff8df9c
Updated run_regressions.sh and make_regressions.sh
BenTheKush Jul 28, 2023
34d598a
Temp Commit
BenTheKush Jul 29, 2023
db698c7
Cleaned up some unused args
BenTheKush Jul 31, 2023
08f3a18
Fix bug in remapping, solc building
BenTheKush Jul 31, 2023
f77ba05
Regenerated regressions with fix
BenTheKush Jul 31, 2023
7205d45
Created new tests, added to regressions
BenTheKush Jul 31, 2023
c1c1ece
Added regression test for no exports
BenTheKush Aug 1, 2023
0572fee
pass-through arguments
BenTheKush Aug 1, 2023
49b2a6b
removed unused import
BenTheKush Aug 1, 2023
f61212d
regression test
BenTheKush Aug 1, 2023
83d4c38
Depracated sourceroot
BenTheKush Aug 1, 2023
0e31516
Removed todo!()
BenTheKush Aug 2, 2023
e8a89cc
Fixed diff bug (line off by 1)
BenTheKush Aug 2, 2023
49cc3ff
Updated regressions after bug fix
BenTheKush Aug 2, 2023
eb114e0
Removed sourceroot from outputs
BenTheKush Aug 2, 2023
74be1bd
Updated make_regressions and deleted unused script
BenTheKush Aug 2, 2023
e1a14aa
Removed some printlns
BenTheKush Aug 3, 2023
31e013c
Improved regression outputs
BenTheKush Aug 3, 2023
721dd44
Suppress shellcheck warnings
BenTheKush Aug 3, 2023
bc3bffc
Fixed bug in AOR
BenTheKush Aug 3, 2023
3b0e579
Improved run_regressions output
BenTheKush Aug 3, 2023
5694adb
Update regressions
BenTheKush Aug 3, 2023
b6eccbc
Added fallback operators and fixed bug
BenTheKush Aug 4, 2023
de60254
EVR (first pass, still buggy)
BenTheKush Aug 5, 2023
7b967c8
Added regression tests for EVR (double check these!)
BenTheKush Aug 5, 2023
4d084da
BIG COMMIT: lots of changes to src and regressions
BenTheKush Aug 5, 2023
fd110fd
Improvements to summary
BenTheKush Aug 5, 2023
76f934d
Fix line/col bug and report in gambit_results.json
BenTheKush Aug 5, 2023
6d76c02
Regenerate regressions
BenTheKush Aug 5, 2023
67d1008
Print error message instead of log
BenTheKush Aug 5, 2023
1ca08b6
Updated summary
BenTheKush Aug 5, 2023
51fef5b
Updates
BenTheKush Aug 8, 2023
f00d8a1
Reran regressions with updates
BenTheKush Aug 8, 2023
cdd5a2a
Added evr and mutation ops as an experimental feature, and improved d…
BenTheKush Aug 8, 2023
f28be6c
Updated regressions
BenTheKush Aug 8, 2023
9d06701
Removed EVR from default mutations
BenTheKush Aug 8, 2023
60ab6f1
Fix some cli stuff
BenTheKush Aug 10, 2023
903d354
Made gambit summary experimental
BenTheKush Aug 10, 2023
eae3d5b
Updated test to match updates to mutation ops
BenTheKush Aug 11, 2023
3cd0e44
Finished merge
BenTheKush Aug 11, 2023
fa6c0a9
Fix merge
BenTheKush Aug 11, 2023
2d9ef4b
Fixes
BenTheKush Aug 11, 2023
ebb4c1e
Fix cli names
BenTheKush Aug 16, 2023
6fafe88
Added a mutate_function fn to mutation
BenTheKush Aug 28, 2023
98aa765
Updated warning, added benchmark
BenTheKush Aug 28, 2023
4ee1b6b
Work around to solang import resolution bug
BenTheKush Aug 28, 2023
d1311c6
added better error messages
BenTheKush Aug 28, 2023
8774fd9
Added broken configuration jsons
BenTheKush Aug 28, 2023
69269b6
Added regressions
BenTheKush Aug 28, 2023
48b9137
Removed stray file
BenTheKush Aug 30, 2023
3aa784a
Prettified output
BenTheKush Aug 30, 2023
d7146a0
Fixed small bug
BenTheKush Aug 30, 2023
cf24610
Updated to point at solang PR, fixed some breakages, fixed clippy war…
BenTheKush Aug 31, 2023
446344f
Some readme fixes
BenTheKush Sep 6, 2023
b2b0fa6
Updated README
BenTheKush Sep 6, 2023
9acc90e
Updated readme
BenTheKush Sep 7, 2023
06638e5
Added a script to generate rtd docs
BenTheKush Sep 7, 2023
53f1627
Updated CI
BenTheKush Sep 7, 2023
5d40c54
Updated README and added scripts for synching w/ RTD
BenTheKush Sep 7, 2023
6f6fa97
Merge branch 'master' into fix_readme
BenTheKush Sep 7, 2023
dec736d
Fix ci
BenTheKush Sep 7, 2023
fffccee
Testing c
BenTheKush Sep 7, 2023
a17fe27
Updated CI to point documentation checking to master
BenTheKush Sep 7, 2023
365e969
Merge branch 'fix_readme' into ben/use-solang-parser-parse-tree
BenTheKush Sep 8, 2023
6273b89
Moved warnings to above header
BenTheKush Sep 8, 2023
3d77a53
Fix bug
BenTheKush Sep 8, 2023
e205014
Updated: changed to compare actual contents, no checksum
BenTheKush Sep 8, 2023
768e245
Updated README
BenTheKush Sep 8, 2023
23cfcf5
Fixed bugs
BenTheKush Sep 8, 2023
db98acd
tmp commit: modified readme
BenTheKush Sep 9, 2023
fc60e2d
tmp commit: updates to README
BenTheKush Sep 9, 2023
e367303
Fixed readme translation syntax, updates to readme
BenTheKush Sep 9, 2023
875b8c6
Fix
BenTheKush Sep 9, 2023
562c608
Typo
BenTheKush Sep 9, 2023
472dd16
Typo
BenTheKush Sep 9, 2023
a0d6b3c
Small update
BenTheKush Sep 9, 2023
af995ae
Small updates to README
BenTheKush Sep 9, 2023
852a6b9
Improved doc checks
BenTheKush Sep 9, 2023
e4b8b73
workflow
BenTheKush Sep 9, 2023
51623b6
Fixes
BenTheKush Sep 9, 2023
44831a9
Fix bug
BenTheKush Sep 9, 2023
78e4300
Pulled in updates to README preamble from fix_readme branch
BenTheKush Sep 9, 2023
5bbb07f
Fixed scripts (pulled changes from fix_readme)
BenTheKush Sep 9, 2023
f9de058
Updates to README
BenTheKush Sep 9, 2023
05247e5
Updated README
BenTheKush Sep 10, 2023
32457a1
Merged changes from fix_readme
BenTheKush Sep 10, 2023
81fca94
merge again, first time didn't take
BenTheKush Sep 10, 2023
9b81ad7
tmp commit
BenTheKush Sep 10, 2023
39619d8
README
bkushigian Sep 10, 2023
36ad3d2
README
bkushigian Sep 10, 2023
e349124
README
bkushigian Sep 10, 2023
ea407e2
README
bkushigian Sep 10, 2023
497fe4f
README
bkushigian Sep 10, 2023
4caf735
Removed examples from README
bkushigian Sep 10, 2023
e205525
Updated CLI to --import_maps and --import_paths
bkushigian Sep 11, 2023
0927a79
Updated Rust docs to say --import_paths --import_maps
BenTheKush Sep 11, 2023
688051e
README
BenTheKush Sep 11, 2023
311ad06
Reorder, bug fix
BenTheKush Sep 11, 2023
c5303ab
Updated regressions after fixing/modifying mutation operators
BenTheKush Sep 11, 2023
c20ad99
nits
chandrakananandi Sep 11, 2023
422926a
Refactor main to modularize warnings
BenTheKush Sep 12, 2023
110a021
Added warnings about deprecated mutate params
BenTheKush Sep 12, 2023
dc30fc4
comment
BenTheKush Sep 12, 2023
a9c74b9
comments
BenTheKush Sep 12, 2023
c7afc9f
minor nit
chandrakananandi Sep 12, 2023
b546868
Cleaned up a thing
BenTheKush Sep 12, 2023
f935fdb
Removed buggy log statement
BenTheKush Sep 12, 2023
3f73905
STUFF
BenTheKush Sep 12, 2023
fc99e68
solc is a passthrough arg
BenTheKush Sep 12, 2023
1c44c7e
Fix contract/function filtering regression
BenTheKush Sep 12, 2023
d15dfdc
Changed python to python3
BenTheKush Sep 12, 2023
e0facd0
print gambit_executable instead of gambit
BenTheKush Sep 12, 2023
aba1c8e
sol patch
BenTheKush Sep 12, 2023
98c133e
updated regressions
chandrakananandi Sep 12, 2023
1d58b41
Fixed invalid.log output path (not absolute anymore)
BenTheKush Sep 12, 2023
33e2945
Added solc version
BenTheKush Sep 12, 2023
3e4732c
Unshot my self in the foot
BenTheKush Sep 12, 2023
6554d3a
update the regressions again
chandrakananandi Sep 12, 2023
b3a1ddb
readme
BenTheKush Sep 12, 2023
251e149
Fixed some comments
BenTheKush Sep 12, 2023
64e95b5
Fix regression
BenTheKush Sep 12, 2023
6ecf83c
things to clean up code
chandrakananandi Sep 12, 2023
2c6d990
Merge branch 'ben/use-solang-parser-parse-tree' of github.com:Certora…
chandrakananandi Sep 12, 2023
010e776
fall back tests
chandrakananandi Sep 12, 2023
07dff72
update readme
chandrakananandi Sep 12, 2023
d6a2e2f
remove comment
chandrakananandi Sep 12, 2023
7207804
Removed filenames from mutator (useless)
BenTheKush Sep 13, 2023
5e9ab9a
Merge branch 'ben/use-solang-parser-parse-tree' of https://github.com…
BenTheKush Sep 13, 2023
d432eff
Fixes to README
BenTheKush Sep 13, 2023
a153ef3
Fixed outdated comment
BenTheKush Sep 13, 2023
30c7834
Renamed sol_path to vfs_path
BenTheKush Sep 13, 2023
ca50512
added note
BenTheKush Sep 13, 2023
7982488
added comments, and return slice of generated mutants from apply_oper…
BenTheKush Sep 13, 2023
e6c8f84
Fix typo
BenTheKush Sep 13, 2023
d3cbe31
readme
BenTheKush Sep 13, 2023
3ded860
typo
BenTheKush Sep 13, 2023
007836c
Added warning to generate_rtd_markdown
BenTheKush Sep 13, 2023
0075f05
minor fix
BenTheKush Sep 13, 2023
56b0852
Fixed internal link across two lines error, updated readme
BenTheKush Sep 13, 2023
8a77563
Fix in mutator: add diagnostics
BenTheKush Sep 14, 2023
f6b1042
Some bug fixes and cleanup
BenTheKush Sep 14, 2023
439755a
Fixed my email
BenTheKush Sep 14, 2023
d2a3043
Change to generating rtd docs
BenTheKush Sep 14, 2023
c019e88
Removed debug print from diagnostics
BenTheKush Sep 14, 2023
5747e0d
Updated README
BenTheKush Sep 14, 2023
88f41da
Updated readme
BenTheKush Sep 14, 2023
9782119
Removed hack since solang removed a bug
bkushigian Sep 15, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
26 changes: 23 additions & 3 deletions .github/workflows/gambit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
sudo mv solc /usr/bin/solc
fi
- name: Build and Test
run: make all_linux
run: SOLC=solc make all_linux

- name: Rename gambit binary
if: startsWith(github.event.ref, 'refs/tags/v') # only on new tag creation
Expand Down Expand Up @@ -71,7 +71,7 @@ jobs:
sudo mv solc-macos /usr/local/bin/solc
fi
- name: Build and Test
run: make all_macos
run: SOLC=solc make all_macos

- name: Darwin link as Universal
run: lipo -create -output gambit-macos target/aarch64-apple-darwin/release/gambit target/x86_64-apple-darwin/release/gambit
Expand Down Expand Up @@ -130,4 +130,24 @@ jobs:
else
gh release upload $TAG gambit-linux-$TAG/gambit-linux-$TAG
gh release upload $TAG gambit-macos-$TAG/gambit-macos-$TAG
fi
fi

check-docs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2

- name: PIP install
run: pip install ansi

- name: Check that RTD Docs are Up To Date
run: python3 scripts/check_rtd_docs_up_to_date.py

- name: Check Exit Code
run: |
if [[ $? -ne 0 ]]; then
echo "Error: documentation is not synced"
exit 1
fi

3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,6 @@ Cargo.lock

# vscode
.vscode/

# python
**/__pycache__/
9 changes: 7 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,22 +1,26 @@
[package]
name = "gambit"
version = "0.2.1"
version = "1.0.0"
edition = "2021"
authors = [
"Chandrakana Nandi <[email protected]>",
"Samwise Parkinson <[email protected]>",
"Ben Kushigian <ben.kushigian@certora.com>",
"Ben Kushigian <bkushigian@gmail.com>",
]

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
solang = { git = "https://github.com/hyperledger/solang.git", rev = "70af554c42748009e414e6263dd4607fb380e5dc", default-features = false }
ansi_term = "0.12"
clap = { version = "4.0.29", features = ["derive"] }
clap_complete = "4.0.6"
csv = "1.2.1"
env_logger = { version = "0.10.0", default-features = false }
log = "0.4"
num-bigint = "0.4"
num-rational = "0.4"
num-traits = "0.2"
project-root = "0.2"
rand_pcg = "0.3.0"
rand = { version = "0.8.5", features = ["std"] }
Expand All @@ -26,6 +30,7 @@ scanner-rust = "2.0.16"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
similar = "2"
solang-parser = { git = "https://github.com/hyperledger/solang.git", rev = "70af554c42748009e414e6263dd4607fb380e5dc" }
strum = "0.24.1"
strum_macros = "0.24.3"
tempfile = "3"
Loading