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

Implemented sltu in boolector and z3 (#75) #80

Merged
merged 3 commits into from
Nov 15, 2020

Conversation

alexanderlackner
Copy link
Contributor

Additionally added test file for sltu and tested it with boolector, z3 and our solver.
Closes #75

ChristianMoesl
ChristianMoesl previously approved these changes Nov 15, 2020
Copy link
Collaborator

@ChristianMoesl ChristianMoesl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice!

@ChristianMoesl ChristianMoesl force-pushed the feat-#75-impl-sltu-in-boolector-and-z3 branch from e401ea0 to 8320c20 Compare November 15, 2020 18:13
Copy link
Collaborator

@ChristianMoesl ChristianMoesl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rebased it

@ChristianMoesl ChristianMoesl merged commit 56e286e into master Nov 15, 2020
@ChristianMoesl ChristianMoesl deleted the feat-#75-impl-sltu-in-boolector-and-z3 branch November 15, 2020 18:24
ChristianMoesl pushed a commit that referenced this pull request Nov 17, 2020
- created an integration test for SLTU
github-actions bot pushed a commit that referenced this pull request Jan 20, 2021
# [0.1.0](v0.0.1...v0.1.0) (2021-01-20)

### Bug Fixes

* BEQ for concrete conditions does not create a constrain ([#44](#44)) ([#45](#45)) ([8ca6ec9](8ca6ec9))
* beq/jal edges ([870bf6e](870bf6e))
* bug in z3 interface where wrong symbolic constants are used ([0fd3de6](0fd3de6))
* CFG computation for loops ([#57](#57)) ([80b8859](80b8859))
* command line parsing ([#37](#37)) ([d20c954](d20c954))
* constraints are now properly displayed in data-flow graphs ([9fa61d0](9fa61d0))
* data segment loading ([#54](#54)) ([4ec4f1d](4ec4f1d))
* dead code elimination now working properly for data-flow graphs ([114e75d](114e75d))
* divu now properly implemented ([#105](#105)) ([b4ee0aa](b4ee0aa))
* fixing divu exit point collection for candidate path generation ([c531663](c531663))
* fold all constants in SMT query ([#100](#100)) ([#101](#101)) ([a2dfc0a](a2dfc0a)), closes [#102](#102) [#103](#103) [#102](#102)
* implemented fix for exit ecall edge ([4cfb9e0](4cfb9e0))
* minor mistakes ([#26](#26)) ([a8e6fbc](a8e6fbc))
* operand side edges ([#70](#70)) ([c7b9c00](c7b9c00))
* recursion support for shortest path heursitic ([#69](#69)) ([#76](#76)) ([914f24e](914f24e))
* small mistakes fixed ([83b637d](83b637d))
* use ugt SMT-lib operator for SLTU ([94213cd](94213cd))

### Features

* ability to print SMT-lib format ([c8c6898](c8c6898))
* add "execution depth" as abort criteria ([#90](#90)) ([4b4829d](4b4829d))
* add banch decisions to test DFG generation with BEQ constrains ([f5e96e2](f5e96e2))
* add candidate path algorithm and generation of a formula graph (WIP) ([83cf753](83cf753))
* add CLI argument for CFG ([0a5493b](0a5493b))
* add CLI option for symbolic execution ([#43](#43)) ([#48](#48)) ([ce3f6fe](ce3f6fe))
* add CLI option to configure memory size of executor ([f30f4f7](f30f4f7))
* add command line argument parsing ([7f21061](7f21061))
* add smt generation and solving ([#38](#38)) ([fab1457](fab1457)), closes [#16](#16)
* add support for division by zero and memory access errors ([#77](#77)) ([#79](#79)) ([e7dc16f](e7dc16f))
* add Z3 SMT solver support ([#68](#68)) ([af9ef1b](af9ef1b))
* basic facilities for candidate path generation ([64a9fe8](64a9fe8))
* candidate path generation (Needs testing) ([43723a2](43723a2))
* compute edges for BEQ instruction ([6ff5ebc](6ff5ebc))
* dead code elimination updated ([97caddd](97caddd))
* eagerly evaluate PC in BEQ instructions ([0ef582c](0ef582c))
* first attempt to build a CFG and enabled formatter/linter ([a09a934](a09a934))
* functions for finding candidate path root nodes (WIP) ([9fd31ab](9fd31ab))
* generate all candidate paths for a given binary ([#7](#7)) ([#46](#46)) ([c00b605](c00b605))
* generate dataflow graph from RISC-U path and add Selfie as compiler ([5f36c4d](5f36c4d))
* implement bit vector remainder operand in monster solver ([#107](#107)) ([5cb4f26](5cb4f26))
* implement dataflow graph generation (WIP) ([5078ccd](5078ccd))
* implement DIVU in Monster solver and tests ([#72](#72)) ([c8f9d3d](c8f9d3d))
* implement Propagation Based Local Search for simple Formula ([#25](#25)) ([396fbbe](396fbbe))
* implement shortest path heuristic for path exploration ([#60](#60)) ([#61](#61)) ([453a615](453a615))
* implement SLTU in Monster solver ([#58](#58)) ([#73](#73)) ([bf7f8f7](bf7f8f7))
* implement SUB in the native solver ([#62](#62)) ([#63](#63)) ([8ccfd5d](8ccfd5d))
* implemented sltu in boolector and z3 ([#75](#75)) ([#80](#80)) ([af5b364](af5b364))
* implemented timeout correctly ([#74](#74)) ([#97](#97)) ([867a240](867a240))
* improve command line argument parsing and handling ([a50c59d](a50c59d))
* improve terminal output by using a logging library ([#66](#66)) ([#67](#67)) ([465e35c](465e35c))
* naive implementation of a RISC-U disassembler ([db125f6](db125f6))
* prototypical implementation to load ELF object files ([4caf390](4caf390))
* reduce executed candidate paths ([#55](#55)) ([#64](#64)) ([31420ed](31420ed))
* remove log header on default terminal output ([#94](#94)) ([92cce66](92cce66))
* some stubs for (ternary) bit vectors ([#9](#9)) ([b89220d](b89220d))
* started working on dead code elimination (WIP) ([a81708c](a81708c))
* stubs for dataflow graph ([11aa224](11aa224))
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.

Implement sltu in boolector and Z3
2 participants