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

Fix recursion support for shortest path heursitic (#69) #76

Merged
merged 1 commit into from
Nov 15, 2020

Conversation

ChristianMoesl
Copy link
Collaborator

  • use consistent names for CLI arguments
  • move all tests with external dependencies to tests/ (integration
    test)
  • refactor integration tests
  • define feature pictures to optionally generate images of CFG's
  • execute all integration tests in parallel for every source file
  • rename directory symbolic to examples

closes #69

 - use consistent names for CLI arguments
 - move all tests with external dependencies to tests/ (integration
 test)
 - refactor integration tests
 - define feature `pictures` to optionally generate images of CFG's
 - execute all integration tests in parallel for every source file
 - rename directory `symbolic` to `examples`

closes #69
@ChristianMoesl ChristianMoesl force-pushed the feat-#69-cfg-for-recursion branch from ac52676 to 122f2b8 Compare November 14, 2020 11:03
@alexanderlackner alexanderlackner merged commit 655bd4a into master Nov 15, 2020
@alexanderlackner alexanderlackner deleted the feat-#69-cfg-for-recursion branch November 15, 2020 15:55
ChristianMoesl added a commit that referenced this pull request Nov 17, 2020
- use consistent names for CLI arguments
 - move all tests with external dependencies to tests/ (integration
 test)
 - refactor integration tests
 - define feature `pictures` to optionally generate images of CFG's
 - execute all integration tests in parallel for every source file
 - rename directory `symbolic` to `examples`

closes #69
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.

Add support in CFG generation for Recursion
2 participants