Skip to content

Commit

Permalink
Squashed commit of the following:
Browse files Browse the repository at this point in the history
commit 24ba2f12ef54c7de2146afd1ad3f37ce36a29c77
Author: Paul <[email protected]>
Date:   Sat Nov 16 16:24:18 2019 -0500

    remove pycud-related instructions and add setup instructions

commit 0bdf29d7e901dcd3ae9c199740ac085c5ac84607
Merge: f88e8b7 e268372
Author: Paul <[email protected]>
Date:   Sat Nov 16 16:15:04 2019 -0500

    Merge branch 'release'

commit f88e8b70acc636084b104c6c163ac24ec46ddb06
Merge: f4a971e 6abb846
Author: Paul <[email protected]>
Date:   Sat Nov 16 16:11:44 2019 -0500

    Merge branch 'remove_pycudd'

commit 6abb846d9e696d578a7229d30ce1797e4a18eed1
Author: Paul <[email protected]>
Date:   Sat Nov 16 16:10:38 2019 -0500

    Remove the dependency on pycudd, leaving the bdd field empty.

commit 0dea317d97d0ad5d2d74dcc351ca8e950af3819a
Author: Paul <[email protected]>
Date:   Sat Nov 16 01:08:54 2019 -0500

    remove superfluous environment settings

commit f4a971e83f0f7e4fdd19b9b9019c7a45b0d2113f
Merge: ed141be b61c55e
Author: Paul <[email protected]>
Date:   Sat Nov 16 01:01:44 2019 -0500

    Merge branch 'release'

commit ed141be4a47f34ef47461de63e1dd511e8d3434b
Author: Paul <[email protected]>
Date:   Sat Nov 16 00:54:43 2019 -0500

    updated info on location of previous analysis scripts in older versions

commit b27c6a824f6ab4a4acaf61d8052c01c371c768e8
Merge: d35e1d8 827b6e8
Author: Paul <[email protected]>
Date:   Sat Nov 16 00:53:09 2019 -0500

    Merge branch 'separate_out_kmax'

    This merge is from a branch that converts the kmax repository into a stand-alone python program.

commit 827b6e8a20461bf9fcf040748f9e146a83985979
Author: Paul <[email protected]>
Date:   Sat Nov 16 00:49:38 2019 -0500

    improve directions on running on linux

commit 67277adee411805125d5b5b82e40b6f935b84c09
Author: Paul <[email protected]>
Date:   Sat Nov 16 00:49:11 2019 -0500

    added the makefile that can retrieve all top-level linux directories

commit df39d6800647e066d9496c6c6787d72f11ec0711
Author: Paul <[email protected]>
Date:   Sat Nov 16 00:47:17 2019 -0500

    add intro to readme

commit 817a3f447f28977e833b64e409e47a98f081f204
Author: Paul <[email protected]>
Date:   Sat Nov 16 00:35:08 2019 -0500

    move aggregation script into the driver

commit c9a068eb0711ebe7132adfbaa08d9f24c721658f
Author: Paul <[email protected]>
Date:   Sat Nov 16 00:34:50 2019 -0500

    add python dependencies

commit 1e74fa6832857d46ea9cabc744a71e21e474943e
Author: Paul <[email protected]>
Date:   Sat Nov 16 00:34:40 2019 -0500

    dependencies are now setup.py

commit 5fc592e5baeac3215b4b0fb130ae360e36c05b0b
Author: Paul <[email protected]>
Date:   Sat Nov 16 00:22:43 2019 -0500

    Revert "partially removed pycudd"

    This reverts commit 55ac5c6e51c77acbb21e1a9dc1cc75b3799310f5.

commit 55ac5c6e51c77acbb21e1a9dc1cc75b3799310f5
Author: Paul <[email protected]>
Date:   Sat Nov 16 00:17:55 2019 -0500

    partially removed pycudd

commit e63834497442e8ae0fb9974b7613f53eb0e93e46
Author: Paul <[email protected]>
Date:   Sat Nov 16 00:05:47 2019 -0500

    ignore generated stuff

commit 6b6f77d195a674cfa3fc3f626a3d0155f2848e01
Author: Paul <[email protected]>
Date:   Sat Nov 16 00:05:36 2019 -0500

    setup scripts and add pymake package

commit ca630b84d421799b95ff586976765adc3acad280
Author: Paul <[email protected]>
Date:   Sat Nov 16 00:04:58 2019 -0500

    get dependencies right

commit 45e38f3cbc2f6bcf0c5fd7faa4f4c1a70b39180b
Author: Paul <[email protected]>
Date:   Sat Nov 16 00:04:31 2019 -0500

    added pymake source code with its license

commit 8a40dadff96150dc8898c62fb974bdf1fac75a07
Author: Paul <[email protected]>
Date:   Wed Nov 6 11:36:32 2019 -0500

    updated

commit f27f9bc34b4e9efb6a36be18786503b26e012f65
Author: Paul <[email protected]>
Date:   Wed Nov 6 11:36:02 2019 -0500

    updated version number

commit 660fd9016ab360d48dc70f2ca74720b340972cda
Author: Paul <[email protected]>
Date:   Wed Nov 6 11:35:57 2019 -0500

    updated readme

commit 50f8f7a23212d00c05b64cf9fa09ab5b92e4f164
Author: Paul <[email protected]>
Date:   Wed Nov 6 11:35:43 2019 -0500

    added license text

commit a625bbc5325a3d28c6024e99a90018f0f6be800a
Author: Paul <[email protected]>
Date:   Wed Nov 6 11:23:23 2019 -0500

    reorganizing and setting up via setuptools

commit 606a50a8a978b69803ea79926e93ecf8b19d7243
Author: Paul <[email protected]>
Date:   Tue Nov 5 01:30:31 2019 -0500

    removed

commit 2cfb376630d37a24d2767042eb0b069139d416fc
Author: Paul <[email protected]>
Date:   Tue Nov 5 01:28:55 2019 -0500

    removed

commit 1b1d5e365db6f2ff75ac3bf739effbb0ccabc7e5
Author: Paul <[email protected]>
Date:   Tue Nov 5 01:16:27 2019 -0500

    removed unneeded lib

commit 55e66e23ee2c346e329e3ee2b42444d1aa644cec
Author: Paul <[email protected]>
Date:   Mon Nov 4 14:24:55 2019 -0500

    separate out only kmax code

commit d35e1d8122bef3b878c1550c57f18a22f653e2c7
Author: Paul Gazzillo <[email protected]>
Date:   Wed Sep 25 13:06:58 2019 -0400

    Update README.md

commit d5d46605f318dcd148ff9e17474d1666188efbb5
Merge: b7a7c59 818186f
Author: Paul Gazzillo <[email protected]>
Date:   Wed Sep 18 12:38:56 2019 -0400

    Merge pull request #78 from paulgazz/Sayma23-patch-1-1

    Update README.md

commit 818186f5ac36d3fc9f22ab68fea5d01b8f993a3d
Author: Sayma23 <[email protected]>
Date:   Wed Sep 18 11:08:05 2019 -0400

    Update README.md

commit b7a7c5930eafede589b44cbd80c3469bb4dc435e
Merge: 0067a2b cac0b5c
Author: Paul <[email protected]>
Date:   Fri Aug 2 14:05:28 2019 -0400

    Merge branch 'master' of github.com:paulgazz/kmax into release

commit cac0b5c5983724f5458714701c1c3797d33b61dc
Merge: 1ca7570 07cf43b
Author: Paul <[email protected]>
Date:   Fri Aug 2 13:39:58 2019 -0400

    Merge branch 'update_kconfig_to_4.19.50'

    This includes the z3 branch as well.

commit 07cf43b6f02f7292d574d91dd03adb6a9e00c911
Author: Paul <[email protected]>
Date:   Fri Aug 2 13:34:40 2019 -0400

    new kclause tests

commit 1b556a2295d94d8413bc31a67cfc9c8f2ef2e059
Author: Paul <[email protected]>
Date:   Fri Aug 2 13:33:44 2019 -0400

    more tests

commit c3d2edd901b28c3d8b4b9396e4da113b49defe57
Author: Paul <[email protected]>
Date:   Fri Aug 2 13:32:37 2019 -0400

    add GPL from linux

commit 8c91f512719ae57b23f7a72ddea0d6e730d0a358
Author: Paul <[email protected]>
Date:   Fri Aug 2 13:24:56 2019 -0400

    code from new version of kconfig

commit 629c4ffdc46b5deca6790ba323f583a58b6bd734
Author: Paul <[email protected]>
Date:   Fri Aug 2 13:24:06 2019 -0400

    introduce kclause

commit e30087094d8c470c51d80340525e711752798867
Author: Paul <[email protected]>
Date:   Fri Aug 2 13:21:11 2019 -0400

    ignore pymake download

commit 9cad8de9d01d6864020887ff9d43d6df9efd6401
Author: Paul <[email protected]>
Date:   Fri Aug 2 13:20:46 2019 -0400

    add makefile to get pymake

commit 6631b2d71177f44be68f50e141ca8e242b025f6e
Author: Paul <[email protected]>
Date:   Fri Aug 2 13:20:20 2019 -0400

    start unifying documentation into a single directory

commit 6275fc4dcd6c6eac46ffb9155f44899e7ed3c54b
Author: Paul <[email protected]>
Date:   Fri Aug 2 13:19:59 2019 -0400

    another table of build system stats

commit 1b195cf35c25263ff831b2b74262189e42e976e3
Author: Paul <[email protected]>
Date:   Fri Aug 2 13:19:16 2019 -0400

    move BDD version of Kmax instructions to kbuild/ directory

commit b9aec0f302dc24cf69c8435abecb1afa13ddd266
Author: Paul <[email protected]>
Date:   Fri Aug 2 13:17:34 2019 -0400

    code to emit all clauses for kconfig

commit 657c3d9777fd3cdc4710a7d3d837e7dfdface22a
Author: Paul <[email protected]>
Date:   Fri Aug 2 13:17:06 2019 -0400

    updated documentation to describe z3 version only and for linux

commit 0d93482e2ceca972c16bd650efaed40d5e5f40de
Author: Paul <[email protected]>
Date:   Thu Jun 20 15:58:54 2019 -0400

    upgraded kconfig to linux version 4.19.50

commit 92ad6ec903ff7851f8f19b0bdc50c2348a12b31f
Author: Paul <[email protected]>
Date:   Thu Jun 20 14:52:48 2019 -0400

    added script to run kmax's Kbuild Makefile interpreter recursively on each subdirectory of the source code

commit cf6f02659179aa0f07b257b3e8a4cb877540feb1
Author: Paul <[email protected]>
Date:   Thu Jun 20 14:49:46 2019 -0400

    added script to combine the compilation unit and directory presence conditions, i.e., converting the unit_pc format to the full_pc format.

commit ecaeeff09323f11aa5c3f0739000041f9fa9d3da
Author: Paul <[email protected]>
Date:   Thu Jun 20 14:41:22 2019 -0400

    add command-line flag for producing the kmax unit_pc format that maps filenames to boolean expressions representing the conditions under which they are included in the binary

commit ef0bfe94d866f5fb7355928548abb9d44af5327a
Author: Paul <[email protected]>
Date:   Thu Jun 20 14:40:35 2019 -0400

    process one makefile at a time

commit 65ff3ea5d99a425bab620a71af98c59e3c159fda
Author: Paul <[email protected]>
Date:   Wed Jun 5 15:05:23 2019 -0400

    add simplification to z3 kconfig converter

commit ddd7be0a21d03026df06f71fb21e58c14385822a
Author: Paul <[email protected]>
Date:   Wed Jun 5 15:05:06 2019 -0400

    report presence conditions in the original kbuild format

commit e7c166fe45793f377dad4e5f246a6c23183cbdad
Author: Paul <[email protected]>
Date:   Fri Mar 8 02:18:57 2019 -0500

    use fancy ctx-solver-simplify in addition to the regular simplify for cleaner expressions

commit af2c27e2b13264fd9e2054f887d6f7c69f3d5914
Author: Paul <[email protected]>
Date:   Fri Mar 8 02:18:13 2019 -0500

    need to have default definition for recursive variable assignment

commit 5f15a646462098b00f56ea0fbd8e0043ae3dd089
Author: Paul <[email protected]>
Date:   Fri Mar 8 02:10:52 2019 -0500

    added collection script for linux that uses the new kbuildplus

commit a32ebd78ca6d863a95585a6d5aca2bf5b1ffc496
Author: Paul <[email protected]>
Date:   Fri Mar 8 01:19:57 2019 -0500

    print presence conditions

commit 3e0eff451c21b0b903bc3ce94400d2fa6a7ba1ac
Author: Paul <[email protected]>
Date:   Thu Mar 7 23:59:40 2019 -0500

    linux results are too large to process it all in one run of python at once (stack depth exceeded), so linux run takes a single makefile and pickles it for linux_case_study.py; add back support for subdirs

commit 679efb7de5ce579ecb594ea2480e3b5f6bc6d9bf
Author: Paul <[email protected]>
Date:   Thu Mar 7 23:58:35 2019 -0500

    add back support for tracking subdirs in results

commit c2a51df36e2d090781e972072ce6efee0b5ce94b
Author: Paul <[email protected]>
Date:   Mon Feb 18 17:55:06 2019 -0500

    fix problem where set of presence conditions was reset for each makefile.  now all presence conditions will be collected for all makefiles.

commit b024b9b07b78539129d7ea752bf77ba76030bbfd
Author: Paul <[email protected]>
Date:   Tue Jan 29 01:31:26 2019 -0500

    remove all uses of the old subdir_pc and token_pc

commit 88106af1f330979fec2c17715bf4b02a3e5a845c
Author: Paul <[email protected]>
Date:   Tue Jan 29 01:20:14 2019 -0500

    remove obsolete method for getting presence conditions

commit faef0d77e95d8a110835dab32119a44e01386dce
Author: Paul <[email protected]>
Date:   Wed Jan 23 13:49:41 2019 -0500

    fixed bug where nested conditionals conditions were not being conjoined in a certain case, i.e., when it was an ifdef that expanded only to a string and not a multiverse

commit 275336595c8ef47d94ec3f0f288fb8e69c17d591
Author: Paul <[email protected]>
Date:   Wed Jan 23 13:48:17 2019 -0500

    typo in test case

commit 14b2074a2aeb7eee164f680467cb9ee25b5d63d4
Author: Paul <[email protected]>
Date:   Mon Jan 21 16:51:15 2019 -0500

    Support for presence conditions for composite compilation units.

commit 15b710dc284555ac965e2c74b4e63278717e8c11
Author: Paul <[email protected]>
Date:   Mon Jan 21 14:44:11 2019 -0500

    Fixed several issues with presence condition creation:

    - Use the resulting symbol table to construct presence conditions for each token, intead of the previous hack that computed them while processing the Makefile
    - Only use the default variable entry for BITS if the Makefile does not define it, e.g., for tests/kbuild/paper_example
    - Add output for the new presence condition computation.

commit 313b0fa4e89f99837b762c90a250e891a34d6aa8
Author: ThanhVu (Vu) Nguyen <[email protected]>
Date:   Sat Jan 5 09:04:20 2019 -0600

    add files

commit 7b39d3a5bf61d53ccf1996290ae656da7e04e4c6
Author: ThanhVu (Vu) Nguyen <[email protected]>
Date:   Sat Jan 5 09:01:37 2019 -0600

    latest

commit 703b0a536b731300e6a08083f07f250b68456816
Author: ThanhVu (Vu) Nguyen <[email protected]>
Date:   Sat Dec 22 23:57:49 2018 -0600

    updates (using vscode)

commit faeed3d7bb4f4009cc70694b7e3887da1e04001e
Author: ThanhVu Nguyen <[email protected]>
Date:   Thu Dec 20 10:28:02 2018 -0600

    about to cleanup

commit 8080a03b4470f2af22353d8eb5acef3d0cdc85ed
Author: ThanhVu Nguyen <[email protected]>
Date:   Tue Dec 18 15:59:18 2018 -0600

    can parse linux usr

commit 465dda83ac51dc86679b709b4f82b00486c2a6ce
Author: ThanhVu Nguyen <[email protected]>
Date:   Tue Dec 18 15:06:09 2018 -0600

    begin Linux script

commit 2d2ab3f100713fb0273ae41b0baf2e1df47090d9
Author: ThanhVu Nguyen <[email protected]>
Date:   Tue Dec 18 02:50:48 2018 -0600

    more cleanup

commit a58b8e3ae3c495b8262be7ba5de09cd84e0938cf
Author: ThanhVu Nguyen <[email protected]>
Date:   Mon Dec 17 02:02:29 2018 -0600

    refactor

commit 56ef0db30e0dfc209c029a1b00671bcda307b471
Author: ThanhVu Nguyen <[email protected]>
Date:   Mon Dec 17 00:23:16 2018 -0600

    busybox cleanup

commit 61fe83febcf5e10ed7207babcbdff086e2d00063
Author: ThanhVu Nguyen <[email protected]>
Date:   Sat Dec 15 00:48:48 2018 -0600

    included_c_files

commit fd0a77f94158f1218490b773d16dff2d0c4ef12e
Author: ThanhVu Nguyen <[email protected]>
Date:   Thu Dec 13 23:31:27 2018 -0600

    almost done with busybox scripts

commit 887990150f4dd5c642ab6bd09592253aa4fc012b
Author: ThanhVu Nguyen <[email protected]>
Date:   Tue Dec 11 14:50:35 2018 -0600

    cleanup code, similar to compilation units

commit d9ed47385b3edf1042d95438c12bd9aaf4ed6723
Author: ThanhVu (Vu) Nguyen <[email protected]>
Date:   Mon Dec 10 22:21:23 2018 -0600

    add files

commit a69840272d61cc7e9d8835495a7c6dad846c7e12
Author: Paul <[email protected]>
Date:   Tue Dec 4 15:19:28 2018 -0500

    fixed typo

commit 1ca7570bde5d03a9b69cea86fa513d56fa804381
Author: Paul <[email protected]>
Date:   Tue Dec 4 15:19:28 2018 -0500

    fixed typo

commit d906f2d2bf4619246d4be48528890112d570a1a8
Author: ThanhVu (Vu) Nguyen <[email protected]>
Date:   Sun Dec 2 09:54:45 2018 -0600

    clean up, settings, remove several do_

commit 6ff3a1afb7f012cb39aeddb36ba4311b61e0e640
Author: Paul <[email protected]>
Date:   Thu Nov 29 13:51:48 2018 -0500

    add -B flag for boolean

commit 0906a8715a39ab9e8a827bb2f3de7ef56aaa9f48
Author: ThanhVu (Vu) Nguyen <[email protected]>
Date:   Thu Nov 29 12:27:00 2018 -0600

    works with busybox

commit 76b1af6a1b9f4d710610b9714d87f57b1e9e26a1
Author: ThanhVu (Vu) Nguyen <[email protected]>
Date:   Sat Nov 24 09:34:59 2018 -0600

    update

commit 366cb40e0409d3e2a856f45b27f7533bf7ce8c32
Author: ThanhVu (Vu) Nguyen <[email protected]>
Date:   Mon Nov 19 14:26:00 2018 -0600

    more api, pass args as arguments

commit 8e7a29c0cce27e4f498375d5f86abb7c959a7e28
Author: ThanhVu (Vu) Nguyen <[email protected]>
Date:   Mon Nov 19 12:43:32 2018 -0600

    API

commit d3d0a8c6a1042cec305ad70dfa8c7b35db4179e0
Author: ThanhVu (Vu) Nguyen <[email protected]>
Date:   Mon Nov 12 15:37:52 2018 -0600

    some cleanup

commit 04cec2e6d1563248f98d8ebb4f627d92b0f91bf4
Author: ThanhVu (Vu) Nguyen <[email protected]>
Date:   Mon Nov 12 11:25:49 2018 -0600

    complete code for contains_unexpanded v1 and v2

commit 90fefca96fdfb6c573111d443c5a2f41df3620c6
Author: ThanhVu (Vu) Nguyen <[email protected]>
Date:   Mon Nov 12 07:46:14 2018 -0600

    fix a bug in dedup

commit 62aefb9b5d37a19d32aa40c07fdad69f959ffe39
Author: ThanhVu (Vu) Nguyen <[email protected]>
Date:   Sat Nov 10 11:00:52 2018 -0600

    add support for boolean configs

commit 389c7b10ed4ba64e146b50d07de245bfb476c458
Author: ThanhVu (Vu) Nguyen <[email protected]>
Date:   Sat Nov 10 08:53:02 2018 -0600

    add orig script

commit c0c1ff01c6b24568518a4057593323de4f2d206b
Author: ThanhVu (Vu) Nguyen <[email protected]>
Date:   Sat Nov 10 08:52:51 2018 -0600

    remove unnecessary imports

commit 42859ed4f4512139ff5e5f4004f192b36e86739a
Author: Paul <[email protected]>
Date:   Tue Oct 30 22:14:55 2018 -0400

    instructions for running on busybox

commit 8e54bdb15979f94a13eff16ccf564ce199619231
Author: ThanhVu (Vu) Nguyen <[email protected]>
Date:   Mon Oct 29 12:18:51 2018 -0500

    add additional files

commit 66934c28a47941c5b1f1888df51ec030f48a9317
Author: ThanhVu (Vu) Nguyen <[email protected]>
Date:   Mon Oct 29 12:11:28 2018 -0500

    fix pylint errors

commit f3c1e21221b0e6b61d016f6ed56a5054045bba03
Author: ThanhVu (Vu) Nguyen <[email protected]>
Date:   Mon Oct 29 11:45:28 2018 -0500

    readd tests

commit b0989b5f79414e5bd311cad893a1b92aacf05c70
Author: ThanhVu (Vu) Nguyen <[email protected]>
Date:   Mon Oct 29 11:43:53 2018 -0500

    fix a small bug first_branch_cond is not None

commit e5ad9f9d06fc5a3162d3df9454cd7b9ba5a2dd1d
Author: ThanhVu (Vu) Nguyen <[email protected]>
Date:   Mon Oct 29 11:39:37 2018 -0500

    make dedup part of multiverse

commit 4e110f29cd4a759f745597c37b7b4b1a2634879a
Author: ThanhVu (Vu) Nguyen <[email protected]>
Date:   Mon Oct 29 11:37:02 2018 -0500

    more z3 integration, simplify dedup

commit e5ae531d399a99a42912ae3a8f5f06273568a6b9
Author: ThanhVu (Vu) Nguyen <[email protected]>
Date:   Sat Oct 27 11:33:45 2018 -0500

    subst_config_var

commit 4bcce9915986de8677511d561e7893cbeb680318
Author: ThanhVu (Vu) Nguyen <[email protected]>
Date:   Sat Oct 27 09:59:26 2018 -0500

    more print results

commit b6c6f6d93f43cd2a250a57e1b5e9898854c4147a
Author: ThanhVu (Vu) Nguyen <[email protected]>
Date:   Sat Oct 27 09:52:46 2018 -0500

    print results

commit 19c5910b601763953f576560e6c519311bb04730
Author: ThanhVu (Vu) Nguyen <[email protected]>
Date:   Wed Oct 24 15:57:04 2018 -0500

    presence cond for paper example

commit c7c9d4f94b8b8122b8e7b03aec09f29731bc6202
Author: ThanhVu (Vu) Nguyen <[email protected]>
Date:   Wed Oct 24 13:54:46 2018 -0500

    works with paper example

commit c956c2c6c679c2de909c1f8283be2f49ba95b569
Author: ThanhVu (Vu) Nguyen <[email protected]>
Date:   Wed Oct 24 13:23:30 2018 -0500

    more z3 integration

commit c3b170f259f0b6cc55538f799320fe26f95dafda
Author: ThanhVu (Vu) Nguyen <[email protected]>
Date:   Tue Oct 23 10:52:36 2018 -0500

    more z3 integration

commit f04e1f64d9c239fac2b84176e67fa5131ffe5bb4
Author: ThanhVu (Vu) Nguyen <[email protected]>
Date:   Mon Oct 22 16:27:52 2018 -0500

    begin to add z3 support

commit 494ed4c6832320d4d89e7a517433d6e8f41b6a81
Author: Paul <[email protected]>
Date:   Sun Sep 23 13:49:02 2018 -0400

    Improve installation directions for dependencies.

commit 402f280179287ac2176722089452cdb6ca7fc29e
Merge: 34de485 48b524b
Author: Paul Gazzillo <[email protected]>
Date:   Fri Sep 21 16:02:22 2018 -0400

    Merge pull request #73 from paulgazz/better_selects_and_nonvisibles

    Better selects and nonvisibles

commit 48b524b82795fce8a69ec1abbd1712980286cfe2
Author: Paul <[email protected]>
Date:   Fri Sep 21 15:51:55 2018 -0400

    Revert "Preserve dimacs.py naming for backwards compatibility with existing scripts."

    This reverts commit 6c5db72d0af177ea7c48af4427bcccb764f472b8.

commit a1485981d11e5c8b7100aadcd6dfa0df2c2b938b
Author: Paul <[email protected]>
Date:   Fri Sep 21 15:51:43 2018 -0400

    Revert "Create the dimacs.py which calls into the newly-named build_model.py."

    This reverts commit eff4a556e9ae026d204d417e463f53db6d5f3dd0.

commit eff4a556e9ae026d204d417e463f53db6d5f3dd0
Author: Paul <[email protected]>
Date:   Fri Sep 21 15:49:40 2018 -0400

    Create the dimacs.py which calls into the newly-named build_model.py.

commit 6c5db72d0af177ea7c48af4427bcccb764f472b8
Author: Paul <[email protected]>
Date:   Fri Sep 21 15:47:46 2018 -0400

    Preserve dimacs.py naming for backwards compatibility with existing scripts.

commit e90a4243dc61eff4cc9e9e5af3e126fba53be4f8
Author: Paul <[email protected]>
Date:   Fri Sep 21 15:45:53 2018 -0400

    Move z3 generation into existing dimacs generator.

commit 70a54b51eeed0f2ec07e6fb6118063efc5c893fc
Merge: 3f5c613 10bbe37
Author: Paul <[email protected]>
Date:   Sun Sep 16 23:34:12 2018 -0400

    Merge branch 'kconfig_z3' into merge_improve_with_z3

commit 10bbe37293fd570e906fc4a6b82647a75d8ae7a8
Author: Paul <[email protected]>
Date:   Sun Sep 16 23:28:03 2018 -0400

    Check for feasibility of expression.

commit e72c7436a6a1f28733d9308fb72739f50a8bf91b
Author: Paul <[email protected]>
Date:   Sun Sep 16 23:27:37 2018 -0400

    Simplify clauses after conversion.

commit e7c7490f07895184b0ee3cfd864bce77dc6d0b60
Author: Paul <[email protected]>
Date:   Fri Sep 14 13:15:30 2018 -0400

    Generate z3 clauses from the expression tree.

commit cc04ec2646c01e2e931788fd478e081dd6ab48ab
Author: Paul <[email protected]>
Date:   Fri Sep 14 12:44:13 2018 -0400

    Prepare for z3 clauses generation, by duplicating dimacs code and making it switchable.

commit 43ff516b6b98f569cdc0d7f48d9178595893e52c
Author: Paul <[email protected]>
Date:   Fri Sep 14 12:36:56 2018 -0400

    Factor out dimacs clause generation.

commit d6b542594ac23a794a74925519a13977a77c9572
Author: Paul <[email protected]>
Date:   Fri Sep 14 12:22:26 2018 -0400

    Make z3 test more complicated.

commit 464605e72b5139de05a91b0daeee6926517a789b
Author: Paul <[email protected]>
Date:   Sat Sep 8 10:50:05 2018 -0400

    simple constraints

commit b0896b0662a0bf931840c750dfc530cd6c802587
Author: Paul <[email protected]>
Date:   Sat Sep 8 10:21:35 2018 -0400

    Better naming.

commit dc147dc2b956203ffe78d38f75d42cbc99e04b75
Author: Paul <[email protected]>
Date:   Sat Sep 8 10:16:17 2018 -0400

    Started z3 version of the kconfig constraint generator.

commit 3f5c6135f1a427800036bcbc06fb9b599e643773
Author: Paul <[email protected]>
Date:   Sat Aug 11 13:57:59 2018 -0400

    Tests for large reverse dependencies.  This is to evaluate how to avoid massive blowup in negating these expressions.

commit 455d7b45570ce5220aef403573cfc757e5926ffb
Author: Paul <[email protected]>
Date:   Sat Aug 11 13:56:36 2018 -0400

    First attempt at simplified clause implementation, but it is still broken.

commit 79cd5835f27187728089a047dbe610c72098fd29
Author: Paul <[email protected]>
Date:   Sat Aug 11 13:56:17 2018 -0400

    Support None in negation method.

commit 90f63b02f01a874398681dfe8ad9668dec8d62d2
Author: Paul <[email protected]>
Date:   Fri Aug 10 15:50:41 2018 -0400

    New disjunction function that filters out None args.

commit 79ab7579ffd58234cb5cdbca1af684c5cbef19a5
Author: Paul <[email protected]>
Date:   Fri Aug 10 15:36:22 2018 -0400

    Make a switch for the old, unsimplified version of the expression formula and add a template for the unified version of simplified formula.

commit 4b85276fd031867b65bee6202d6d95bafdf657a1
Author: Paul <[email protected]>
Date:   Fri Aug 10 15:22:08 2018 -0400

    Comment on why we have `if False:`

commit 4925aada41926608b14d47a7f14a3e570811ff37
Author: Paul <[email protected]>
Date:   Fri Aug 10 15:21:36 2018 -0400

    Improved disjunction function that takes n args.

commit 4147a661f9b4d54dc30adcbbbd1c5f312abc12c4
Author: Paul <[email protected]>
Date:   Fri Jul 27 15:49:40 2018 -0400

    Use simplified form of nonvisibles.

commit b26c2c6a70693478eb0d90bf5ada0152c09ddd37
Author: Paul <[email protected]>
Date:   Fri Jul 27 15:47:11 2018 -0400

    Remove some excess debugging output and pretty print some expressions.

commit 34de48504c31bbace73392f1acc286f3aec2dd2a
Author: Paul <[email protected]>
Date:   Mon Jul 23 13:05:45 2018 -0400

    Created a token-based replacement method that replaces the buggy pure string replacement.  This enables expressions to replace expressions; otherwise replacing just a string may replace part of a token.

commit 06bf1e081d43d339666cc98134d114083d2a03b7
Author: Paul <[email protected]>
Date:   Mon Jul 23 12:48:20 2018 -0400

    Use "not" instead of "!" to enable parsing of subexpressions.

commit 72809451f0add872389772946f7cc6dc044f4110
Merge: ab7ac0d 6ea3d48
Author: paulgazz <[email protected]>
Date:   Thu Jul 5 13:29:29 2018 -0400

    Merge pull request #62 from paulgazz/improve_clause_generation

    Reduce clause explosion for reverse dependencies

commit 6ea3d48db3909bce11df8e21d2732eb518342279
Author: Paul <[email protected]>
Date:   Thu Jul 5 13:22:55 2018 -0400

    Moved from kconfig_case_studies; (incomplete) description of kconfig semantics.

commit ab7ac0dd174d43e1624d9fc1c359a7f2b4725bcc
Merge: 5ab1cd0 3edf130
Author: paulgazz <[email protected]>
Date:   Tue Jul 3 16:10:26 2018 -0400

    Merge pull request #69 from paulgazz/presence_conditions_for_lib_objects

    Pass-through old naive append flag

commit 3edf130a8f21dd79069f6cfafc7e16c92883debb
Merge: 20068f0 5ab1cd0
Author: Paul <[email protected]>
Date:   Tue Jul 3 16:09:41 2018 -0400

    Merge branch 'master' into presence_conditions_for_lib_objects

commit 5ab1cd09807281c8981813b75e8ef59070acfbcf
Merge: a091db9 f17161e
Author: paulgazz <[email protected]>
Date:   Tue Jul 3 15:37:41 2018 -0400

    Merge pull request #67 from paulgazz/new_kconfig_testcases

    Added new test cases for kconfig

commit a091db9c2466cc9fa441723ed6787e4ae30f8cfe
Merge: 8a82418 cd0793f
Author: paulgazz <[email protected]>
Date:   Tue Jul 3 15:37:31 2018 -0400

    Merge pull request #68 from paulgazz/minor_script_addition

    New script to count up configs per C file.

commit cd0793ff986076537eaca2587c8160983e7592ea
Author: Paul <[email protected]>
Date:   Tue Jul 3 15:33:56 2018 -0400

    New script to count up configs per C file.

commit f17161ef495bb9c22738fe7899cc49fdb9526bcf
Author: Paul <[email protected]>
Date:   Tue Jul 3 15:29:44 2018 -0400

    Added new test cases for kconfig

commit 625f75d5097693fdbe580a1548f002cf612e76d7
Author: Paul <[email protected]>
Date:   Tue Jul 3 15:27:03 2018 -0400

    Make optimization for reverse dependencies controllable.

commit 6f88ce8798da0de7d0f011ff150dd94a0d3d6cfd
Author: Paul <[email protected]>
Date:   Mon Jul 2 18:37:18 2018 -0400

    Optimization to reduce CNF blowup when dealing with reverse dependencies.

    Combine factors by disjunction for top-level terms, i.e., A & D1 or A & D2 => A & (D1 or D2).

commit 2cd101b4fcab39ab56a7dfd5ca706c25a5163483
Author: Paul <[email protected]>
Date:   Mon Jul 2 18:12:02 2018 -0400

    Restored use of rev_dep lines.

commit e50929526abde6c1863763c3334530c0f1c0a73d
Author: Paul <[email protected]>
Date:   Mon Jul 2 18:11:25 2018 -0400

    Added support for debugging expressions in output.

commit 48f96fb3781f92edf29341313d6c468aafe0536a
Author: Paul <[email protected]>
Date:   Mon Jul 2 15:37:16 2018 -0400

    Improve error handling for parsing errors while converting expressions to CNF.

    This also increasing the recursion depth for python to allow for parsing of deeply-nested expressions.

commit 5e965b396482172ceb5abfe0d776da320662f644
Author: Paul <[email protected]>
Date:   Sat Jun 30 12:40:20 2018 -0400

    Uses the new select dependency emitted by `check_dep` to generate much
    smaller clauses for reverse dependencies.

    Fixes #66.

commit bf1debcb332e3ab155abd387a945bd210f147972
Author: Paul <[email protected]>
Date:   Sat Jun 30 12:39:58 2018 -0400

    clean up comments

commit c2dd98426f74ebd35312893863bb85ec1c4eefcb
Author: Paul <[email protected]>
Date:   Sat Jun 30 12:29:22 2018 -0400

    This fixes #66 by only emitting the expression found in the `select ... if expression` line.

    It works by creating a new field in the property struct that stores the original if expression before it gets processed by kconfig.  This expression is then emitted in the select line of the kmax output by `check_dep --dimacs`.

commit d1d816d0a9329a1bc2ad715d54e19401da2a4a4d
Author: Paul <[email protected]>
Date:   Wed Jun 27 18:19:19 2018 -0400

    reimplement the reverse dependency expression using the new select_line to limit clause blowup; fixes #64

commit b785ad3142249d087736762f98c615d9421e8bd3
Author: Paul <[email protected]>
Date:   Wed Jun 27 17:24:35 2018 -0400

    Use simplified formulas for visible variables.

    Improve debugging output and show progress of clause post-processing.

commit 4ba9e1a1b2972538ea9b78035c91acf008b38837
Author: Paul <[email protected]>
Date:   Wed Jun 27 16:16:00 2018 -0400

    export the raw select lines instead of the pre-computed rev_dep expression; fixes #61

commit 8a82418b30a4f94ee01f3e3458dc9bc404acbc69
Merge: 21f475e f0e1b3f
Author: paulgazz <[email protected]>
Date:   Fri Jun 1 18:36:01 2018 -0400

    Merge pull request #59 from paulgazz/support_prompt_conditions

    Support prompt conditions

commit f0e1b3f5bf2ff1bc28915af3391d7aa09ca6a821
Author: Paul <[email protected]>
Date:   Fri Jun 1 18:19:44 2018 -0400

    corrected bool choice to allow for no choice to be selected if the choice's dependencies are not met

commit acf4d9cee11eb6f6edba85f0e4c8b9364367051f
Author: Paul <[email protected]>
Date:   Fri Jun 1 16:56:29 2018 -0400

    fixed expression for reverse dependencies for visible variables; turn on filtering by default

commit 5514a019f6e96319f11a56e2c058cfcc9886ad87
Author: Paul <[email protected]>
Date:   Fri May 25 16:14:58 2018 -0400

    examples of nonbool with prompt

commit 27d5abf8346fe479509fc5884890c380eb0f6867
Author: Paul <[email protected]>
Date:   Fri May 25 09:26:40 2018 -0400

    fix support for prompt condition in nonbools; add support for comments in kmax files

commit 6ab2a215673bf12f5bdf0b29b90848a1ea19f235
Author: Paul <[email protected]>
Date:   Thu May 24 12:58:58 2018 -0400

    support env variables as selectable; fixes #60

commit d6d8b3deea654b1ad522a96000d40ce0c0354aa3
Author: Paul <[email protected]>
Date:   Thu May 24 12:39:23 2018 -0400

    deduplicate clauses and remove true clauses; fixes #40

commit 0a4688dc21a7c8665a139f79cd3f914c49c3c446
Author: Paul <[email protected]>
Date:   Thu May 24 12:11:32 2018 -0400

    bugs in processing prompt expressions

commit 9706336393825eab7a150288572d7f197363da17
Author: Paul <[email protected]>
Date:   Thu May 24 12:03:50 2018 -0400

    refactored visible and nonvisible variable dependencies and included prompt conditions

commit 86ebe3f04617be3017c9c9720ac3c3d0681d0382
Author: Paul <[email protected]>
Date:   Wed May 23 14:53:00 2018 -0400

    document ability to add raw expressions to the dimacs file

commit d6b78505738b50de777884ee5e4fb5188a12061f
Author: Paul <[email protected]>
Date:   Wed May 23 14:52:36 2018 -0400

    collect new config and prompt lines; remove option for root variable

commit 220dcf28a85b2dec7d9d93d0182701b7b9f05d5c
Author: Paul <[email protected]>
Date:   Wed May 23 14:36:26 2018 -0400

    support prompt conditions and improve declarations and type names in pre-dimacs output

commit 21f475e1486c6f37e6b3affbc332c81523684e44
Merge: 6c9b904 fee95c4
Author: paulgazz <[email protected]>
Date:   Wed May 23 12:35:16 2018 -0400

    Merge pull request #39 from paulgazz/improve_select

    Improve select

commit fee95c4e70fddd215ab96475f1d57c7027e16d0f
Merge: 58f051b 6c9b904
Author: Paul <[email protected]>
Date:   Wed May 23 12:31:38 2018 -0400

    Merge branch 'master' into improve_select

commit 58f051bf7aa6909fd6fa830c16093cb1938dbf39
Author: Paul <[email protected]>
Date:   Wed May 23 12:28:01 2018 -0400

    update to support environment var labeling

commit b9edac00e0b59fec15b22b6ab2965d3ab9833058
Author: Paul <[email protected]>
Date:   Mon May 21 14:55:08 2018 -0400

    escape backslashes in strings

commit 6c9b9040372387d16dba4e9eaaf17f0427eac06a
Merge: 4b9964b 84ed937
Author: Elias Kuiter <[email protected]>
Date:   Fri May 18 01:25:12 2018 +0200

    Merge pull request #47 from ekuiter/master

    Treat tristate configs as Boolean in Linux & Busybox analysis

commit 84ed9374b799aefbf7e659e374e9cafc57ca6535
Author: Elias Kuiter <[email protected]>
Date:   Thu May 17 20:02:16 2018 +0200

    Added "boolean configs" for Linux analysis as well

commit 872a614e4f79aeb31f25409443ab4a449cb79db0
Author: Elias Kuiter <[email protected]>
Date:   Thu May 17 18:33:32 2018 +0200

    Added "boolean variables" option to Busybox analysis

commit 4b9964b282d69d2e6142f0c199d0d30f425ea617
Merge: 4c2040c 5106a45
Author: paulgazz <[email protected]>
Date:   Thu May 17 11:33:37 2018 -0400

    Merge pull request #46 from paulgazz/new_testcases

    New test cases for presence conditions

commit 5106a4548e8c1c7baa61274966c65095d6de11f5
Author: Paul <[email protected]>
Date:   Thu May 17 11:31:52 2018 -0400

    option to treat configs as pure boolean variables; fixes #43

commit d171ea70855ebae39fb63fb0edce02709b88da84
Author: Paul <[email protected]>
Date:   Thu May 17 09:43:06 2018 -0400

    new testcases.  thanks to @ekuiter!

commit fc398c84f9f70a091f40dc49b2374feeaca096c0
Author: Paul <[email protected]>
Date:   Wed May 9 15:51:29 2018 -0400

    added dimacs output for test cases

commit 27c452bf3b337cdd6c6eb93a9e6b9c721c70063e
Merge: 83aaa86 4c2040c
Author: Paul <[email protected]>
Date:   Wed May 9 15:35:54 2018 -0400

    Merge branch 'master' into improve_select

commit 4c2040ce92548a4ad2d26b36a1ad4575e5cc6754
Merge: 96df934 05a7471
Author: paulgazz <[email protected]>
Date:   Wed May 9 15:34:50 2018 -0400

    Merge pull request #45 from paulgazz/more_kconfig_testcases

    Reorganize and add testcases

commit 05a74715e4f88b2dfbc3dee76fd9ef73eca0be44
Author: Paul <[email protected]>
Date:   Wed May 9 15:26:09 2018 -0400

    reorganize testcases

commit 83aaa8632dc02a9d6ee977772c39693b1420594a
Merge: b842dff 96df934
Author: Paul <[email protected]>
Date:   Fri May 4 14:03:49 2018 -0400

    Merge branch 'master' into improve_select

commit 96df9347e070e30847dabc9ea3a94cea015654e6
Merge: 023e7cb 289ed70
Author: paulgazz <[email protected]>
Date:   Fri May 4 14:03:15 2018 -0400

    Merge pull request #44 from paulgazz/kconfig_analysis_testcases

    added semantics tests from analysis paper

commit 289ed7015b5670b481e1c852eed17b67c3f0f13a
Author: Paul <[email protected]>
Date:   Fri May 4 14:02:24 2018 -0400

    added semantics tests from analysis paper

commit b842dffbfb85a471df3a478a4e03a26057a36a7f
Author: Paul <[email protected]>
Date:   Fri May 4 13:35:26 2018 -0400

    nonvisible boolean default to off

commit ee52e403c187e3bf55ecd3e5c8774134aa115cf9
Author: Paul <[email protected]>
Date:   Fri May 4 13:19:31 2018 -0400

    fix bug that was remove nonvisibles that were used in visibles' dependencies

commit d98f18ba4e9f51a48101e6636ed8c1006a449d78
Merge: 580e6a9 8118eb6
Author: Paul <[email protected]>
Date:   Tue May 1 10:40:50 2018 -0400

    Merge branch 'append_optimiation' into improve_select

    Minor updates to busybox test script

commit 580e6a9e8faf84e12ae06a2a4da2e66cc20805d0
Merge: 9daa521 023e7cb
Author: Paul <[email protected]>
Date:   Tue May 1 10:40:46 2018 -0400

    Merge branch 'master' into improve_select

commit 8118eb6ab57f7fd19b61f51fdb14764b70eded02
Author: Paul <[email protected]>
Date:   Tue May 1 10:39:45 2018 -0400

    added new directory for 1.28.1 busybox

commit 023e7cb7948e16c13d4e6f3fe8a8b1394e0f09dd
Merge: 179003b 944454c
Author: paulgazz <[email protected]>
Date:   Tue May 1 10:38:23 2018 -0400

    Merge pull request #28 from paulgazz/append_optimiation

    New optimization for append

commit 944454ca7f25e7aa92bca89e3e51f31acb8a544f
Merge: d7717bd 0a2ac80
Author: Paul <[email protected]>
Date:   Tue May 1 10:04:25 2018 -0400

    Merge branch 'presence_conditions_for_lib_objects_reduced' into append_optimiation

    This will add support for presence conditions for library objects and collect them when running kmax for busybox.

commit 9daa521c922a841c98a000941173b17c08b46860
Author: Paul <[email protected]>
Date:   Mon Apr 30 16:11:40 2018 -0400

    bugfix: don't assume there exists a factor in the term

commit 60b4cb6f5e397b24b0a79bebb6a4aad8a5e784ff
Author: Paul <[email protected]>
Date:   Mon Apr 30 16:01:17 2018 -0400

    remove the direct dependency expressions that are added to each term of the reverse dependency expression; fixes #41

commit 4e0eb22ce27ed5edd4b5a7833897879a9fa2d020
Author: Paul <[email protected]>
Date:   Fri Apr 27 16:24:00 2018 -0400

    removed todos, which are done or can be found in github issues

commit 046c1d80f31f78bead73bea191e9536476f435b6
Author: Paul <[email protected]>
Date:   Fri Apr 27 16:23:11 2018 -0400

    identifier bools that are part of a choice block in the dimacs output

commit f5b714c15e77f5eac4f8589ecc1c5bd583b2984c
Author: Paul <[email protected]>
Date:   Wed Apr 25 18:01:31 2018 -0400

    remove undefined variables; fixes #38

commit 40e1a0363748a77082b9b379eaf1b24a9bde9602
Author: Paul <[email protected]>
Date:   Wed Apr 25 17:44:52 2018 -0400

    readded support for nonbools ; fixes #37

commit d7717bdef01b718ae6d28c707b8c016a201715cb
Author: Paul <[email protected]>
Date:   Tue Apr 24 18:18:04 2018 -0400

    clean up temp files

commit e390dc0ae0d3244f6fe223340af0eefd23887240
Author: Paul <[email protected]>
Date:   Tue Apr 24 15:11:14 2018 -0400

    use variable equivalence set in other variable assignment operations and when collecting compilation units

commit 4fa08cb4275a227ee74118db8e624416681b1d26
Author: Paul <[email protected]>
Date:   Tue Apr 24 14:55:15 2018 -0400

    use equivalence set of variables in expansions as well; test case included

commit 39003097be36e9911848cb06c8abe5ac3db7ce7f
Author: Paul <[email protected]>
Date:   Tue Apr 24 14:53:12 2018 -0400

    use equivalence set of variables in expansions as well

commit 33cb0e6f96b8517760f3c095deb70f48080a8e8e
Author: Paul <[email protected]>
Date:   Tue Apr 24 11:41:58 2018 -0400

    create predicate abstracts for non-boolean expressions

commit 05aa42cc7448f1c3c78caa2e52f2f1a19f574c7b
Author: Paul <[email protected]>
Date:   Tue Apr 24 11:15:03 2018 -0400

    implemented new dependency formula for visible variables; fixes #34

commit 53c5a0783e930f30d99299e8a3dbba2eda466da5
Author: Paul <[email protected]>
Date:   Mon Apr 23 12:41:48 2018 -0400

    debugging output

commit 9bf12581fdba307aa4d61b0f9973aebd34200a80
Author: Paul <[email protected]>
Date:   Mon Apr 23 12:18:18 2018 -0400

    integrate mandatory nonbool settings into new dependency computation

commit d64aae1da321dc0e067d79ade5cdc1d2413e7c5c
Author: Paul <[email protected]>
Date:   Mon Apr 23 12:02:41 2018 -0400

    remove debugging output

commit 53987abbef2f47278d5e567d2a83fc06dfa351bd
Author: Paul <[email protected]>
Date:   Mon Apr 23 12:00:31 2018 -0400

    minor refactoring, fixes, and warnings for new dependency implementation

commit 6f515cbf679399817bf6ee80841c70ca45ff2731
Author: Paul <[email protected]>
Date:   Mon Apr 23 11:45:09 2018 -0400

    clean up bugs in new dependency computation

commit 38f686213b86e73abf1f827f846234a0b7ec1941
Author: Paul <[email protected]>
Date:   Mon Apr 23 11:35:35 2018 -0400

    implement logic for nonvisible and visible clauses

commit 8ffe91210aa42c53cd79eb435fccc56941c3c3d8
Author: Paul <[email protected]>
Date:   Mon Apr 23 10:56:29 2018 -0400

    templates for implication and biimplication

commit 8c87b0b7f3c1f55ae2e3d98a9b2793f115f0adf8
Author: Paul <[email protected]>
Date:   Mon Apr 23 10:52:23 2018 -0400

    factor out handling of default booleans

commit f7ff90c9d897d70dc87fbdaab2d2733bc13d1ae7
Author: Paul <[email protected]>
Date:   Fri Apr 20 17:11:15 2018 -0400

    only need a nonvisible to not be in any other dependency to remove it

commit f43c2dbe7355121701d7b1d971577302a65e45ea
Author: Paul <[email protected]>
Date:   Fri Apr 20 15:42:46 2018 -0400

    consider variables set by environment variables as user selectable

commit eb1241b7f80038ea3d0c080c02b928ff72673eee
Author: Paul <[email protected]>
Date:   Fri Apr 20 15:32:48 2018 -0400

    only remove boolean orphans

commit d7c199d167aea650d4f558e456d910b6929c5117
Author: Paul <[email protected]>
Date:   Fri Apr 20 15:20:58 2018 -0400

    bug in outputting bad selects

commit 9599d065f3b963bcbfcead019e0181c32207fdd8
Author: Paul <[email protected]>
Date:   Fri Apr 20 15:18:32 2018 -0400

    generate dependency clauses after reading in all dependency lines first

commit 165592f38aca8a96f76799ca2f7c758595a4fe0b
Author: Paul <[email protected]>
Date:   Fri Apr 20 14:49:35 2018 -0400

    handle strings in expressions by removing them

commit 5db099b7d3f0381e7087ddac0a5d015f0a77dc1f
Author: Paul <[email protected]>
Date:   Thu Apr 19 17:24:56 2018 -0400

    option to output new comment format; fixes #32 and fixes #33

commit 7c045a510caa0f353edd7411d8b1e7cdb090de53
Author: Paul <[email protected]>
Date:   Thu Apr 19 16:52:27 2018 -0400

    handle strings in boolean expressions

commit a79bb3ebc51bf6d36921efb7ba20e2cc50fa0696
Author: Paul <[email protected]>
Date:   Thu Apr 19 13:54:48 2018 -0400

    add support for removing nonvisibles that don't defaults or selects

commit 1acb3abd406d9be50406f0aec1fe0b51199be809
Author: Paul <[email protected]>
Date:   Thu Apr 19 13:41:57 2018 -0400

    cleaner support for removing nonvisibles; better cli args

commit 0da766bc1cbb10c28d1717a5f162e41dce35a9b3
Author: Paul <[email protected]>
Date:   Thu Apr 19 13:00:38 2018 -0400

    report bad usage of select statements

commit e2d604fda00fa9af24daefb1d7fdcf9cb82446a8
Author: Paul <[email protected]>
Date:   Wed Apr 18 15:06:41 2018 -0400

    check for bad select statements and ignore their reverse dependencies

commit ba805f6f35b955e92f73310df82a3ef8729d3354
Author: Paul <[email protected]>
Date:   Wed Apr 18 14:32:21 2018 -0400

    update doc on format ordering assumptions

commit 7af2fa1eae160a4e60a19ae4f780ee4c524977df
Author: Paul <[email protected]>
Date:   Wed Apr 18 14:32:04 2018 -0400

    fix args logic

commit 2e50ba2a44a5e1ffac8f7e13e0c95af4fddbc076
Author: Paul <[email protected]>
Date:   Wed Apr 18 14:09:09 2018 -0400

    improved cli arguments

commit 3d275286a94d5b1fda3e82420dcb20cdbb1e8d0d
Author: Paul <[email protected]>
Date:   Wed Apr 18 13:57:04 2018 -0400

    support removing invisibles only if not in visible variables' dependencies

commit 179003b589f8d4afffb48c5a00f2f2c9dc22d995
Merge: 4381bff a68c0f8
Author: paulgazz <[email protected]>
Date:   Fri Apr 13 10:47:40 2018 -0400

    Merge pull request #30 from paulgazz/improve_select

    Improve how dimacs.py handles nonselectable variables and reverse dependencies

commit a68c0f8a41509411b68b5e96af3a5bc7e038af9a
Author: Paul <[email protected]>
Date:   Fri Apr 13 10:09:50 2018 -0400

    flag to ignore reverse dependencies

commit 20068f0049b7308e90fb0ef7a96e0e78abc47755
Author: Paul <[email protected]>
Date:   Fri Apr 13 09:56:42 2018 -0400

    pass-through naive-append parameter

commit 11f9581a9922e7538ab12a685d3cdc78406f90d4
Author: Paul <[email protected]>
Date:   Thu Apr 12 17:14:28 2018 -0400

    reimplement flag for inclusion of nonselectable vars

commit 7b8e0a18d6a72f73400d573fc146a7c89e68b264
Author: Paul <[email protected]>
Date:   Thu Apr 12 17:12:46 2018 -0400

    implement general-purpose dimacs clause filtering

commit 06d97fe9156aadaaf24654856bf3d05a9ee4488d
Author: Paul <[email protected]>
Date:   Thu Apr 12 16:08:24 2018 -0400

    abstract away dimacs printing

commit 4d33a3b99d346157d6ad67ba496ba9267af900f0
Author: Paul <[email protected]>
Date:   Thu Apr 12 13:48:11 2018 -0400

    add argparser

commit eab4bf7212aa659e6e3b0e4ab348833538fed854
Author: Paul <[email protected]>
Date:   Wed Apr 11 12:13:09 2018 -0400

    use rev_dep to identify reverse dependencies

commit 77357ecc1e42bce2940f5662aade0578e63dd636
Author: Paul <[email protected]>
Date:   Tue Apr 10 15:48:01 2018 -0400

    new optimization for append

commit 4381bff840be52cfc410344326c4a1bc62d825fc
Merge: 736644a 88d6f11
Author: paulgazz <[email protected]>
Date:   Mon Apr 9 17:36:12 2018 -0400

    Merge pull request #26 from paulgazz/check_dep_env

    Minor improvements to Kconfig processing

commit 88d6f111ed9297f98d0e4112733f9d872d5b1ec6
Author: Paul <[email protected]>
Date:   Mon Apr 9 17:27:38 2018 -0400

    ensure empty values are quoted; strip quotes for nonstring nonbooleans

commit 5f7f1af216b56d671eea40f4d553cfbeb676ea17
Author: Paul <[email protected]>
Date:   Mon Apr 9 16:35:50 2018 -0400

    support setting environment variables and a custom prefix

commit 736644a6f0bddd464ddf2818b23dc257e6fb9331
Merge: eb45280 45f1b73
Author: paulgazz <[email protected]>
Date:   Mon Apr 9 15:49:11 2018 -0400

    Merge pull request #25 from paulgazz/incorporate_dimacs_changes

    Incorporate dimacs changes

commit 45f1b7391475c7db1a3c20a79fdb442813fa746e
Author: Paul <[email protected]>
Date:   Fri Apr 6 15:53:57 2018 -0400

    improve error handling and debugging output

commit f5cba3451e1693b8364a3d7c01ff64f8fa9ce40d
Author: Paul <[email protected]>
Date:   Tue Mar 27 09:27:32 2018 -0400

    support nonboolean expression predicates

commit 0a2ac80f2bf806c30e192a0c55a01a22ff673549
Author: Paul <[email protected]>
Date:   Mon Apr 9 13:19:16 2018 -0400

    collect presence conditions for busybox

commit e24987b5e72b2c19df4ae478c47c2b6f0c9146d9
Author: Paul <[email protected]>
Date:   Mon Apr 9 13:19:06 2018 -0400

    support getting presence conditions from library units as well

commit eb45280c3bbebd914bcaa20958f15849af7b3a44
Merge: a72a092 6857f77
Author: paulgazz <[email protected]>
Date:   Sat Apr 7 09:09:47 2018 -0400

    Merge pull request #22 from paulgazz/dimacs_fixes

    Add new options to dimacs output

commit 6857f77b8b2b29a7ecd7db2b5dc12c4bfa37295d
Author: Paul <[email protected]>
Date:   Sat Apr 7 09:08:11 2018 -0400

    add option to force all nonbools on regardless of dependencies; this is off by default

commit a2187d52778629fc3a83be297f379162ac1e6a2d
Author: Paul <[email protected]>
Date:   Sat Apr 7 08:51:39 2018 -0400

    disable def_bools by default

commit ac86487f8ccc54037ddf9f8684ddb8348428d0a4
Author: Paul <[email protected]>
Date:   Sat Apr 7 08:41:16 2018 -0400

    improved duplicate removal; flag for supporting bool defaults or not

commit 7af98a14d541746620345023b935e469edc0e9cc
Author: Paul <[email protected]>
Date:   Fri Apr 6 15:57:00 2018 -0400

    ensure no duplicates in clauses

commit a72a0926b6a6ad1a1e0ae404db6e8d88f2778bd8
Merge: bfbf60c 793e4e5
Author: paulgazz <[email protected]>
Date:   Fri Mar 16 11:50:16 2018 -0400

    Merge pull request #14 from paulgazz/bugfixes

    Fixes bugs in processing configuration expressions

commit bfbf60cde77b2845c745839ae32aa0d5309ba92c
Merge: f6440c3 fe03859
Author: paulgazz <[email protected]>
Date:   Fri Mar 16 11:49:26 2018 -0400

    Merge pull request #1 from paulgazz/dimacs

    Support for creating dimacs files from Kconfig feature models

commit 793e4e5f6d0af854d06c562d1a7684a1105247cd
Author: Paul <[email protected]>
Date:   Fri Mar 16 11:16:03 2018 -0400

    this enhances the boolean expressions that represent tristate values; fixes #12

commit f3c0944bcae04c1672bf7fad35dd042cbfbc8e6a
Author: Paul <[email protected]>
Date:   Thu Mar 15 13:46:01 2018 -0400

    bdd printing error; fixes #11

commit 7ea21499df442e1e2096d71ac3fe6e7a81e5ba41
Author: Paul <[email protected]>
Date:   Thu Mar 15 13:45:03 2018 -0400

    add debug levels

commit f6440c3acbce69ed5ddb089a921a33c28a64a86a
Merge: 0baf96d ee1d7f4
Author: paulgazz <[email protected]>
Date:   Wed Feb 28 17:11:34 2018 -0500

    Merge pull request #10 from paulgazz/doc_updates

    Doc updates

commit ee1d7f424ef8f2fad9fb0e49c216e937bb8cc3f2
Author: Paul <[email protected]>
Date:   Wed Feb 28 17:03:12 2018 -0500

    added simple example run

commit 3bb553c28ec84fc8123e84126889440a397c41dc
Author: Paul <[email protected]>
Date:   Wed Feb 28 16:57:10 2018 -0500

    example from the esecfse17 paper

commit fe03859e7c856c8cd555f64e39d8fb3baf414c19
Author: Paul <[email protected]>
Date:   Mon Feb 5 16:05:05 2018 -0500

    add first available nonbool default value

commit e9fa4ed1d7f923ab3838e8928c9b87894bffbfdb
Author: Paul <[email protected]>
Date:   Wed Jan 17 18:27:44 2018 -0500

    update kmax file format

commit 8cd54690a9d4324a6d56ceb9ff64218e26faebb4
Author: Paul <[email protected]>
Date:   Wed Jan 17 18:27:23 2018 -0500

    support removing unselectable variables; support ghost bools for nonbool defaults

commit 6c940f29ebcd290ae39383928ea0462a965d75eb
Author: Paul <[email protected]>
Date:   Wed Jan 17 18:26:21 2018 -0500

    print out type of nonbools; depend on True for nonbools

commit 2b071e7edd4c2f6a9f45cd22311e5482fb690a2f
Author: Paul <[email protected]>
Date:   Tue Jan 9 12:15:59 2018 -0500

    updated description with selectability

commit 39e035334a3933d354925d52f37136153daf7ec8
Author: Paul <[email protected]>
Date:   Tue Jan 9 12:15:19 2018 -0500

    distinguish between user-selectable and non-user-selectable boolean variables; always emit defaults for non-user-selectable

commit 6d940831853d24633946a69c67bbfffbe08c4537
Author: Paul <[email protected]>
Date:   Tue Jan 9 12:14:09 2018 -0500

    added flag to disable root var

commit fc2e33f8fe95a0ba1874f1d4b490cd79568b7675
Author: Paul <[email protected]>
Date:   Fri Jan 5 18:20:57 2018 -0500

    remove from clauses any variables not declared with bool or nonbool

commit c890aa7e16607c3c8d76fba2549868afb3b5c3af
Author: Paul <[email protected]>
Date:   Fri Jan 5 18:20:30 2018 -0500

    reverse dependencies and nonselectable bools off by default;  there are new cli flags to turn them

commit 0baf96d7a631f5accf22e913baba503d929a2ecf
Author: Paul <[email protected]>
Date:   Wed Jan 3 09:59:05 2018 -0500

    support for busybox 1_22_stable in kmax script

commit 69733dd200a9cb0514caddfc2a20a2a8408a1bb8
Author: Paul <[email protected]>
Date:   Wed Jan 3 09:57:55 2018 -0500

    support for boolean default values that arent visible to the user

commit c69d0c49999b96241c72b8b169b9b29a6f4e1381
Author: Paul <[email protected]>
Date:   Wed Jan 3 09:57:12 2018 -0500

    simple script to compare configs before and after make oldconfig

commit 44d1abe0a56d02614528e52db87c0f32fe794d48
Author: Paul <[email protected]>
Date:   Fri Dec 22 14:18:19 2017 -0500

    don't create the built-in config var

commit a49f641d8a392c868d9cf6080474e5a817d33ba9
Author: Paul <[email protected]>
Date:   Fri Dec 22 14:17:13 2017 -0500

    detailed description of the proto-dimacs format and usage instructions

commit feaeb76f7b68eb8b667afdfc083d27426f3113fc
Author: Paul <[email protected]>
Date:   Fri Dec 22 14:17:11 2017 -0500

    script to generated dimacs output from the .kmax output via --dimacs

commit 6cfc365b46728d9aa9193602aa53ee0f7ef8deaa
Author: Paul <[email protected]>
Date:   Fri Dec 22 14:16:06 2017 -0500

    the --dimacs action produces a special kmax format for postprocessing into dimacs

commit 1ff1511e94d5b9442c034155cb2e3f8babb5f66e
Author: Paul <[email protected]>
Date:   Fri Dec 22 14:14:03 2017 -0500

    build v4.13
  • Loading branch information
paulgazz committed Nov 16, 2019
1 parent e268372 commit 0c17b23
Showing 1 changed file with 4 additions and 42 deletions.
46 changes: 4 additions & 42 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,45 +6,11 @@ Kmax was created by [Paul Gazzillo](https://paulgazzillo.com). Its algorithm is

Special thanks to [ThanhVu Nguyen](https://cse.unl.edu/~tnguyen/) for helping to integrate z3 into Kmax.

## pycudd
## Setup

*pycudd usage is superseded by z3. this dependency will be removed in later versions.*
Clone the repository and run

http://bears.ece.ucsb.edu/ftp/pub/pycudd2.0/pycudd2.0.2.tar.gz

The package contains two directories, `cudd-2.4.2/` and `pycudd/`.
First enter `cudd-2.4.2/`.

If you are running a 64-bit machine, edit the Makefile by uncommenting
the line shown here starting with `XCFLAGS`. You may see a compiler
error about `sys/cdefs.h` if you haven't edited the Makefile to build
for 64-bit.

# Gcc 4.2.4 or higher on x86_64 (64-bit compilation)
XCFLAGS = -mtune=native -DHAVE_IEEE_754 -DBSD -DSIZEOF_VOID_P=8 -DSIZEOF_LONG=8 -fPIC

Now compile cudd-2.4.2 and create shared libraries for pycudd:

make
make libso

`make libso` may fail on nanotrav, but as long as the `lib/` directory
contains six shared object libraries, libcudd.so, libdddmp.so, etc,
then pycudd should build.

Install swig for the python to c interface. In apt-based
distributions `apt-get install swig`.

Finally, go up to the parent directory, enter `pycudd/`, and build:

make FLAGS="-I /opt/python/include/python2.7/ -fPIC"

## Environment

Kmax expects several environment variables to be set:

export PYCUDD_ROOT=/path/to/pycudd/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${PYCUDD_ROOT}/cudd-2.4.2/lib
python setup.py install

## Simple example

Expand All @@ -67,6 +33,7 @@ There is a script that will run Kmax on all Kbuild Makefiles from a project, e.g

# from, e.g., the top-level directory of the linux-4.19.50 source code
cd linux-source/
make defconfig # setup the build and config system
kmaxdriver.py -B -g $(make CC=cc ARCH=x86 -f /path/to/kmax/scripts/makefile_override alldirs) | tee unit_pc

The `-B` options means treat configuraion options as Boolean (as opposed to tristate) and `-g` means get the presence conditions in the `unit_pc` [format](docs/unit_pc.md). The `makefile_override` file will extract all the top-level source directories, e.g., drivers, kernel, etc, from the Linux build system. These are then each processed by Kmax, recursively entering any Kbuild subdirectories.
Expand All @@ -76,8 +43,3 @@ Finally, aggregate `unit_pc` to `full_pc`, i.e., combine the constraints for sub
cat unit_pc | python /path/to/kmax/kbuildplus/aggregate.py > aggregate_pc

The aggregated file has a [format](docs/unit_pc.md) describing the constraints of on the compilation unit.

### Troubleshooting

- Be sure the environment is set (see the Environment section above) so that the `KMAX_ROOT` is known, etc.
- Try running `makefile_override` by itself to see that it is correctly extracting the top-level files. The build may need to be configured first.

0 comments on commit 0c17b23

Please sign in to comment.