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

Merge develop into Security Scanner Support #1347

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
957 commits
Select commit Hold shift + click to select a range
05f62fd
Merge pull request #1201 from LAJW/test-gen-escape-quota
peterschrammel Aug 7, 2017
6ed24e5
Throw ArithmeticException whenever a division-by-zero is encountered
cristina-david May 22, 2017
fb89e5a
Regression test for ArithmeticException
cristina-david May 22, 2017
ce7c498
Merge pull request #1207 from peterschrammel/debug-run-diff
peterschrammel Aug 8, 2017
6c4dba3
Fix language-specific constant printing in JSON
peterschrammel Aug 2, 2017
0f80a02
Fix mode in input/output steps in JSON trace
peterschrammel Aug 2, 2017
df5aa96
Replace asserts
peterschrammel Aug 8, 2017
49526f7
Replace asserts
peterschrammel Aug 8, 2017
3eab185
generation of hexadecimal floating point numbers in tests
eigold Jun 26, 2017
fe46bed
Merge pull request #1200 from smowton/feature/throw-arithmetic-exception
smowton Aug 8, 2017
ff2f662
New option --java-max-input-tree-depth
cesaro Aug 7, 2017
05d9815
Java gen_non_det allow_null only for root object
cesaro Aug 7, 2017
5759b26
Fields in java.lang.Class shall not be null
cesaro Aug 7, 2017
c3e273f
Escape backslash, \t, \f and \b in generated tests
Aug 8, 2017
84215da
Merge pull request #1185 from romainbrenguier/bugfix/string-bases
romainbrenguier Aug 8, 2017
9078d15
Rename bytecode_index -> bytecodeIndex in JSON output
peterschrammel Aug 2, 2017
5ff94de
Use empty()
peterschrammel Aug 2, 2017
8085d9e
Documentation
cesaro Aug 3, 2017
28ca28d
Test for java-specific output in JSON
peterschrammel Aug 8, 2017
21a5ed5
Factored out `string_refinementt::instantiate_not_contains`
jasigal Aug 8, 2017
f5ebce0
Added unit tests for `instantiate_not_contains`
jasigal Aug 8, 2017
6571537
Merge pull request #1182 from LAJW/test-gen-regression-string-equals
peterschrammel Aug 8, 2017
e5c21c0
Merge pull request #1199 from peterschrammel/rename-json-java-bytecod…
peterschrammel Aug 9, 2017
561f38d
Merge pull request #1215 from jasigal/test/string-refinement-not-cont…
peterschrammel Aug 9, 2017
0cd1057
Merge pull request #1198 from peterschrammel/fix-json-output-constants
peterschrammel Aug 9, 2017
c159fa2
Make message::get_mstream const
Jul 14, 2017
24e9dde
Fixing linter warnings
cesaro Aug 9, 2017
9c035c0
Restructure java-instrument
smowton Jul 27, 2017
88bc1f9
Merge pull request #1219 from LAJW/test-gen-java-escape-backslash
romainbrenguier Aug 9, 2017
bfb397e
Suppress some doxygen warnings
peterschrammel Aug 9, 2017
41fc7e7
Merge pull request #1214 from smowton/smowton/fix/restructure_java_in…
smowton Aug 9, 2017
c9e526f
Merge pull request #1194 from cesaro/fix/gen-nondet-init-depth
peterschrammel Aug 9, 2017
69221aa
Implement Java exception catching
smowton Jul 19, 2017
4e13ea9
Implement universal exception handlers
smowton Aug 4, 2017
08f6b27
Replace direct use of EXC_SUFFIX with a universal catch
smowton Aug 3, 2017
d15c67d
Add tests for Java finally construct
smowton Aug 7, 2017
5d534eb
Clean up CATCH instruction code
smowton Aug 7, 2017
c11bba0
Style fixes
smowton Aug 9, 2017
9a1289d
Add overview documentation for remove-exceptions.
smowton Aug 9, 2017
829e37d
Making substitute_array_list more precise
romainbrenguier Aug 8, 2017
c38549f
Unit test for substitute_array_list
romainbrenguier Aug 8, 2017
9e10715
Merge pull request #1224 from peterschrammel/ignore-doxygen-warnings
peterschrammel Aug 10, 2017
22f3a00
Merge pull request #1196 from smowton/smowton/fix/exception_catch
smowton Aug 10, 2017
ab0a35c
Merge pull request #1220 from romainbrenguier/bugfix/substitute_array…
romainbrenguier Aug 10, 2017
51f088a
Allow extra entry-points to be specified for CI lazy loading
smowton Aug 8, 2017
e8f536f
Fix remove-exceptions doxygen
smowton Aug 10, 2017
e6f02bc
Merge pull request #1216 from mgudemann/feature/hex_float
mgudemann Aug 10, 2017
7150660
Merge pull request #1221 from smowton/smowton/feature/force_load_method
smowton Aug 10, 2017
187e080
Merge pull request #1223 from LAJW/test-gen-const-get-mstream
peterschrammel Aug 10, 2017
96826e7
Merge pull request #1227 from smowton/smowton/fix/remove_exceptions_d…
smowton Aug 10, 2017
2662cad
Fix symbol table alteration during iteration
smowton Aug 10, 2017
870e7ff
Remove needless typecast
smowton Aug 9, 2017
04c957d
Typecheck within assert and assume statements
smowton Aug 9, 2017
3c59dc9
Check for null this-argument at virtual callsites
smowton Jul 13, 2017
273600e
Check for null-pointer deref on array access
smowton Jul 27, 2017
6609f45
Add tests for NullPointerException on virtual call or array access
smowton Aug 2, 2017
074a57e
Always check for null on a member access
smowton Jul 31, 2017
c659d13
Merge pull request #1197 from smowton/smowton/feature/virtual_call_nu…
smowton Aug 10, 2017
8486e6c
Instrument string-refinement code such that null-pointer checks are d…
smowton Aug 1, 2017
4fc60e7
Disable default pointer check (replaced by java_bytecode_instrument)
smowton Jul 27, 2017
1b47689
Improve documentation and omit two unused parameters
smowton Aug 11, 2017
1f2bb67
Merge pull request #1229 from smowton/smowton/feature/use_null_check_…
smowton Aug 11, 2017
cd169d6
Add test showing faulty synchronized behaviour
reuk Aug 11, 2017
5b0c34f
Merge pull request #1230 from reuk/reuk/synchronized-test
thk123 Aug 14, 2017
0e08490
Ensure fields are considered in the same way as parameters
Jul 31, 2017
a029094
Split jobs to two stages in Travis
Aug 14, 2017
5bc3118
Refactored some lazy methods code into a separte file
Aug 10, 2017
804f5a7
Added documentation to class_hierarchy
Aug 10, 2017
a068313
Swapping asserts to invariants in one of the methods
Aug 10, 2017
2520c51
Tighten up lazy loading for virtual functions implemented in base class
Aug 10, 2017
15e9881
Standardise ccache size to 1 GB
Aug 15, 2017
5988e61
Update cbmc-builder alpine container
Aug 15, 2017
696c139
Pulled out logic for finding the correct resolution for a given virtu…
Aug 14, 2017
d75570c
Renamed files to more consistent names
Aug 14, 2017
ce41ade
Tidying changes in ci_lazy_methods
Aug 14, 2017
c2fba40
Remove const that stops copying
Aug 14, 2017
e788227
Tidy up convert method to remove unnecessary else statements
Aug 14, 2017
565f5bf
Merge pull request #1228 from thk123/bugfix/lazy-method-params
thk123 Aug 15, 2017
2cf78c7
Add ccache for gcc builds
Aug 15, 2017
92f70d6
Add invariant helper that pretty-prints an irep
smowton Aug 11, 2017
f628cc0
Adapt allocate_dynamic_object_with_decl to its usage
romainbrenguier Aug 4, 2017
fe0d979
Merge test description files for format
romainbrenguier Aug 4, 2017
cf59144
Add non-const target comparator
reuk Aug 16, 2017
c0fb7c6
Merge pull request #1231 from smowton/smowton/feature/invariant_with_…
smowton Aug 16, 2017
2e3a550
Move Emacs style file so it affects unit tests as well as main source
smowton Aug 16, 2017
e365f50
Fixed bug in cyclic types caused by refactoring of ci_lazy_methods
Aug 15, 2017
8b84458
Corrected comment in class_hierachy
Aug 15, 2017
ecfc981
Merge pull request #1206 from romainbrenguier/bugfix/correct-types-of…
romainbrenguier Aug 16, 2017
638cf76
Merge pull request #1242 from thk123/bugfix/971/cyclic-types-lazy-loa…
thk123 Aug 16, 2017
f102351
Make pc private in goto_trace_step
reuk Aug 16, 2017
23113a5
Merge pull request #1249 from reuk/reuk/goto-trace-iterator-invariant…
smowton Aug 17, 2017
eb21baa
Merge pull request #1247 from reuk/reuk/allow-glibcxx-debug-tgs
thk123 Aug 17, 2017
d55c8a0
Ignore empty arrays in substitute_array_access
Aug 17, 2017
7ada043
Modified interface for select_pointer_type to take a namespace
Jul 31, 2017
384eb4c
Moved the select_pointer_type to be owned by the java_bytecode_language
Jul 31, 2017
cbc49a4
Use the pointer_type_selector in lazy methods
Jul 31, 2017
b946f90
Merge pull request #1254 from allredj/fix-973
Aug 17, 2017
98400f6
Merge pull request #1240 from thk123/bugfix/402/load-substitued-point…
thk123 Aug 18, 2017
49f096c
Refactoring + documentation
cesaro Aug 14, 2017
ffa9b55
Documentation + assert -> INVARIANT
cesaro Aug 14, 2017
81e821c
Unused field
cesaro Aug 14, 2017
9136f2a
Merge pull request #1248 from smowton/smowton/cleanup/emacs_style
smowton Aug 18, 2017
5c66a46
Documentation
cesaro Aug 14, 2017
3288987
Improved debug output
cesaro Aug 14, 2017
6ce5414
Method add_array_types is now static
cesaro Aug 14, 2017
daeeca3
Bugfix: adding public visibility to opaque symbols
cesaro Aug 14, 2017
70438da
Merge pull request #1238 from cesaro/fix/tika-coredump
mgudemann Aug 18, 2017
051ae49
Add switch case number to source_location
Jun 26, 2017
a0827d6
Merge pull request #1023 from mgudemann/feature/explicit_switch_case_…
mgudemann Aug 18, 2017
fdfd294
Removing unreachable and unused code in string constraint generation
romainbrenguier Aug 10, 2017
9dd1152
Merge pull request #1257 from romainbrenguier/cleaning/unused-string-…
romainbrenguier Aug 21, 2017
5ccdbea
Replace simplify_index by simplify_expr
peterschrammel Aug 17, 2017
ea73a26
Consistently use ID_java_new_array for java arrays
peterschrammel Aug 17, 2017
8eab28e
Some cleanup
peterschrammel Aug 17, 2017
3399a6b
Documentation
peterschrammel Aug 17, 2017
2a40436
Regression test for java arrays json output
peterschrammel Aug 17, 2017
03fb38f
Turn on Long.toString and improve implementation
Aug 18, 2017
87007b0
Tests for Long.toString and related functions
Aug 18, 2017
92080c3
Revert "Make pc private in goto_trace_step"
Aug 21, 2017
f77c97d
Merge pull request #1222 from owen-jones-diffblue/feature/java-long-t…
mgudemann Aug 21, 2017
0bcfc48
Merge pull request #1253 from peterschrammel/bugfix/json-output-arrays
peterschrammel Aug 21, 2017
960d2c3
Merge pull request #1237 from zemanlx/feature/implement-travis-stages
peterschrammel Aug 22, 2017
e047556
Making is_refined_string_type a non-member function
romainbrenguier Aug 21, 2017
a86ed4a
Renaming string length comparing functions
romainbrenguier Aug 21, 2017
f17b637
Merge master into tgs
reuk Aug 22, 2017
a44b369
Merge pull request #1258 from romainbrenguier/cleaning/string-expr-fu…
mgudemann Aug 22, 2017
c96325b
Fix overly long lines and use iostream for debugging only
tautschnig Aug 22, 2017
d0e572f
Add size/value checks to bitwise mp_arith operations
Aug 22, 2017
bb88fd2
Add author string to version.h
reuk Aug 22, 2017
1b20f98
Remove trailing white space
reuk Aug 22, 2017
11be8f6
Contributing section in readme
peterschrammel Aug 22, 2017
3f89279
Merge pull request #1270 from peterschrammel/contribute-readme
Aug 22, 2017
9d74906
Force Java pointers to always occupy one stack slot
smowton Aug 22, 2017
c8d32fd
Merge pull request #1269 from tautschnig/fix-array-cleanup
Aug 23, 2017
69a82fc
Merge pull request #1175 from karkhaz/kk-cpplint-if-zero
Aug 23, 2017
3a67dc4
Merge pull request #1267 from reuk/reuk/master-into-tgs
peterschrammel Aug 23, 2017
31e7382
Merge pull request #1261 from janmroczkowski/janmroczkowski/revert-pr…
peterschrammel Aug 23, 2017
a4fa59c
Add test showing infinite unwinding
reuk Aug 14, 2017
e64d9c9
Merge pull request #1276 from smowton/smowton/fix/java_pointer_width
Aug 23, 2017
efe922e
factor out goto model linking into separate file
Aug 22, 2017
8e52f8d
use invariant
Aug 22, 2017
4f88473
Merge pull request #1268 from diffblue/link-goto-model
Aug 23, 2017
c7afb95
variants of service functions for goto_modelt
Aug 22, 2017
2889370
pointer_typet now requires a width
Aug 23, 2017
7231685
avoid hard-wired pointer width
Aug 14, 2017
12cc79c
Merge pull request #1275 from diffblue/goto-model-service-functions
Aug 23, 2017
802044e
Transform loop that is only executed once into if
peterschrammel Jul 28, 2017
a4f29ad
Regression tests for pointer-to-member conversion
peterschrammel Jul 28, 2017
b71a9f4
Fixed whitespace around "="
tautschnig Aug 23, 2017
22016c0
Do not lint C++ regression tests
peterschrammel Aug 23, 2017
f71ff9f
Merge pull request #1192 from peterschrammel/various-fixes
tautschnig Aug 23, 2017
af23092
Merge pull request #1286 from tautschnig/cover-minor-fixes
Aug 23, 2017
fd6f91c
Interpreter: replace assert by invariants
tautschnig Aug 23, 2017
3c71a74
Merge pull request #551 from mgudemann/update_mp_arith
peterschrammel Aug 23, 2017
4362116
Remove constant_exprt::integer_constant
tautschnig Aug 23, 2017
225e257
Merge pull request #1239 from reuk/virtual-function-unwinding
peterschrammel Aug 23, 2017
377b160
Remove inheritance from std containers in goto_rw.h
reuk May 13, 2017
ed2640d
Remove inheritance from list in data_dp.h
reuk May 13, 2017
d9c3fdb
Remove inheritance from list in event_graph.h
reuk May 13, 2017
4235157
Remove inheritance from map in cfg.h
reuk May 13, 2017
280c4fc
Remove inheritance from list in format_strings.h
reuk May 13, 2017
93ca04b
Remove inheritance from vector in ilp.h
reuk May 13, 2017
e5baaa8
Remove inheritance from set in propagate_const_function_pointers.cpp
reuk May 13, 2017
3b5263f
Remove inheritance from map in value_set.h
reuk May 13, 2017
b6ca04c
Remove inheritance from map in value_set_fi.h
reuk May 13, 2017
e2a13be
Remove inheritance from vector in expanding_vector.h
reuk May 13, 2017
3fa3843
Remove inheritance from std containers in numbering.h
reuk May 13, 2017
9606237
Fix formatting in event graph
reuk Jun 21, 2017
39bee77
Add missing `empty`
reuk Jun 21, 2017
b00c377
Fix invariant warnings
reuk Jun 21, 2017
7d5f115
Replace owning raw pointers with unique_ptr
reuk Apr 10, 2017
aea00bf
Merge pull request #1290 from tautschnig/no-integer_constant
tautschnig Aug 24, 2017
13cc598
Fix output of fault localization result in XML
theyoucheng Aug 11, 2017
a37f090
Suppress loading notModelled
reuk Aug 24, 2017
5c9eb59
Merge pull request #1233 from theyoucheng/fault-localization-xml-ui
peterschrammel Aug 24, 2017
37106b6
Added check for a type being a valid formed Java array
Jul 19, 2017
0a99dc8
Added invariants on the correct structure of the array type
Aug 21, 2017
5274109
Reduced strictness of the array check
Aug 24, 2017
00406fa
Replacing assertions by appropriate macros in string preprocessing
romainbrenguier Aug 23, 2017
7b55399
Merge pull request #1152 from thk123/feature/java-array-checker
thk123 Aug 25, 2017
e9e413e
Merge pull request #1295 from reuk/reuk/notModelled
thk123 Aug 25, 2017
2ae3449
Merge pull request #835 from reuk/no-raw-ptrs
thk123 Aug 25, 2017
f5073df
output the working directory for source locations in XML and json
Aug 25, 2017
d099f9b
Merge pull request #1284 from diffblue/pointer-width-fixup
Aug 25, 2017
a1cf348
Refactor, fix and document jar_filet class
Aug 15, 2017
6d1be13
Merge pull request #1282 from romainbrenguier/cleaning/assertion-in-p…
romainbrenguier Aug 25, 2017
964a85c
Make get_current_working_directory return the canonical path name
tautschnig Jul 26, 2017
8ebb169
Add source location to JSON output.
Aug 26, 2017
22a4243
Merge pull request #1299 from forejtv/json-source-location
Aug 29, 2017
6807bed
Merge pull request #1251 from LAJW/refactor/jar_file
peterschrammel Aug 29, 2017
9a8c063
Setting string-max-length for several tests
romainbrenguier Aug 16, 2017
f255abb
Adding a next_sibling_or_parent iterator
romainbrenguier Aug 18, 2017
5d3771a
Adding unit tests for next_sibling_or_parent of an iterator
romainbrenguier Aug 18, 2017
df61ceb
Better debug info
romainbrenguier Aug 15, 2017
de03d9c
Function for conversion from expression to size_t
romainbrenguier Aug 29, 2017
f042ff7
Replace pad_vector by fill_in_map_as_vector
romainbrenguier Aug 29, 2017
1fd5bb2
Adding return check in substitute_array_with_expr
romainbrenguier Aug 29, 2017
88c664c
Add a function that fill an array represented by a with expression
romainbrenguier Aug 29, 2017
0b9811b
Remove useless line break
romainbrenguier Aug 29, 2017
e18a6bd
Add a function interpreting arrays inside an expression
romainbrenguier Aug 29, 2017
2c7f23c
Concretize arrays in axioms when string solver checks axioms
romainbrenguier Aug 29, 2017
8f51b01
Adding unit test for concretize_arrays_in_expression
romainbrenguier Aug 17, 2017
b95359f
Merge pull request #1298 from diffblue/source-locations-with-working-…
Aug 29, 2017
90b1ed6
Merge pull request #1281 from tautschnig/interpreter-assert-cleanup
Aug 29, 2017
5a04db9
replace assert(false) by UNREACHABLE
Aug 29, 2017
df16159
Merge pull request #1241 from romainbrenguier/bugfix/check-axioms#874
Aug 29, 2017
c2c9f1b
use get_target() where appropriate
Aug 29, 2017
4e7a480
Make linter accept alternative copyright header
peterschrammel Aug 29, 2017
9683cb5
Merge pull request #919 from reuk/no-std-inheritance
thk123 Aug 30, 2017
e05deca
Update function signatures in goto_rw, fixing build
reuk Aug 30, 2017
ccdb70d
Merge pull request #1304 from peterschrammel/bugfix/linter-copyright-…
Aug 30, 2017
e9872a3
Merge pull request #1306 from reuk/reuk/fixup-after-919
thk123 Aug 30, 2017
22b4885
Remove usage of static in the header file
Aug 25, 2017
848f2a5
Constraint gen cosmetics
Aug 25, 2017
3217fe3
constraint_generator message is a member
Aug 25, 2017
c51e35e
Use C++11 initialization for constraint generator members
Aug 25, 2017
cf950ab
Use vector instead of list for constraint_generator data
Aug 25, 2017
8043a0d
Hide index_symbols and boolean_symbols in constraint generator
Aug 25, 2017
16a0a34
constraint generator const namespace
Aug 25, 2017
51d897a
Better string_refinement constructor Act 1
Aug 26, 2017
9146575
Better string_refinement constructor Act II
Aug 26, 2017
a00b2db
String refinement - remove unused public methods, fix comments
Aug 26, 2017
30fe11b
Better string_constraint_generator constructor
Aug 26, 2017
99c815e
Make string_constraint_generatort::fresh_symbol non-static
Aug 26, 2017
abe4046
Better bv_refinement constructor
Aug 26, 2017
792a70d
Hide bv_refinement members, add override specifier
Aug 26, 2017
07f6b39
Remove unnecessary typedef
Aug 26, 2017
50173d6
Make some string_constraint_generator methods static
Aug 26, 2017
aa85392
Make more generator methods private
Aug 26, 2017
5368c8c
Private get_created_strings
Aug 26, 2017
a440da7
Group generator's member variables
Aug 26, 2017
01c6767
Rename axioms to m_axioms
Aug 26, 2017
e5c45a5
Prefix all generator member variables with "m_"
Aug 26, 2017
1282d03
Update unit tests with new constructors
Aug 29, 2017
4087187
Don't pass language_uit::uit as a pointer
Aug 29, 2017
83a29dc
Fix linter errors
Aug 29, 2017
107704a
Fix is_in_conflict with conflict override
Aug 29, 2017
fd59d47
Preprocess constexpr
Aug 29, 2017
acaad4f
Remove dead bv_refinementt::set_to
Aug 30, 2017
04fae6d
Correct comment
Aug 30, 2017
7fd2bfa
Use_counter_example assignable via constructor
Aug 30, 2017
dbcb581
Merge pull request #1302 from diffblue/goto-get-target
Aug 30, 2017
6def072
Merge pull request #1301 from diffblue/assert_false_cleanup
Aug 30, 2017
22d699c
Move constexpr ifdef into a util header
Aug 30, 2017
8da7c30
Constraint generator doxygen
Aug 30, 2017
0838f61
Fix function declaration slicing
Aug 30, 2017
dc80753
Lazy-load static symbols which are accessed through pointers
reuk Aug 30, 2017
5bcaacd
Merge pull request #1308 from reuk/reuk/tg-390
forejtv Aug 31, 2017
4171f19
Merge pull request #1300 from LAJW/refactor/string-refinement-constru…
romainbrenguier Aug 31, 2017
660f804
Merge develop into SSS
NathanJPhillips Aug 31, 2017
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
  •  
  •  
  •  
File renamed without changes.
104 changes: 55 additions & 49 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,23 +1,61 @@
language: cpp

matrix:
jobs:
include:

- &linter-stage
stage: Linter + Doxygen + non-debug Ubuntu/gcc-5 test
env: NAME="CPP-LINT"
install:
script: scripts/travis_lint.sh
before_cache:

- stage: Linter + Doxygen + non-debug Ubuntu/gcc-5 test
env: NAME="DOXYGEN-CHECK"
addons:
apt:
packages:
- doxygen
install:
script: scripts/travis_doxygen.sh
before_cache:

# Ubuntu Linux with glibc using g++-5
- stage: Linter + Doxygen + non-debug Ubuntu/gcc-5 test
os: linux
sudo: false
compiler: gcc
cache: ccache
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- libwww-perl
- g++-5
- libubsan0
before_install:
- mkdir bin ; ln -s /usr/bin/gcc-5 bin/gcc
# env: COMPILER=g++-5 SAN_FLAGS="-fsanitize=undefined -fno-sanitize-recover -fno-omit-frame-pointer"
env: COMPILER="ccache g++-5"

# Alpine Linux with musl-libc using g++
- os: linux
- stage: Test different OS/CXX/Flags
os: linux
sudo: required
compiler: gcc
cache: ccache
services:
- docker
before_install:
- docker pull diffblue/cbmc-builder:alpine-0.0.1
- docker pull diffblue/cbmc-builder:alpine-0.0.3
env:
- PRE_COMMAND="docker run -v ${TRAVIS_BUILD_DIR}:/cbmc -v ${HOME}/.ccache:/root/.ccache diffblue/cbmc-builder:alpine-0.0.1"
- PRE_COMMAND="docker run -v ${TRAVIS_BUILD_DIR}:/cbmc -v ${HOME}/.ccache:/root/.ccache diffblue/cbmc-builder:alpine-0.0.3"
- COMPILER="ccache g++"

# OS X using g++
- os: osx
- stage: Test different OS/CXX/Flags
os: osx
sudo: false
compiler: gcc
cache: ccache
Expand All @@ -26,42 +64,24 @@ matrix:
- mkdir bin ; ln -s /usr/bin/gcc bin/gcc
- HOMEBREW_NO_AUTO_UPDATE=1 brew install ccache
- export PATH=/usr/local/opt/ccache/libexec:$PATH
- ccache -M 1G
env: COMPILER=g++
env: COMPILER="ccache g++"

# OS X using clang++
- os: osx
- stage: Test different OS/CXX/Flags
os: osx
sudo: false
compiler: clang
cache: ccache
before_install:
- HOMEBREW_NO_AUTO_UPDATE=1 brew install ccache
- export PATH=/usr/local/opt/ccache/libexec:$PATH
- ccache -M 1G
env:
- COMPILER="ccache clang++ -Qunused-arguments -fcolor-diagnostics"
- CCACHE_CPP2=yes

# Ubuntu Linux with glibc using g++-5
- os: linux
sudo: false
compiler: gcc
cache: ccache
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- libwww-perl
- g++-5
- libubsan0
before_install:
- mkdir bin ; ln -s /usr/bin/gcc-5 bin/gcc
# env: COMPILER=g++-5 SAN_FLAGS="-fsanitize=undefined -fno-sanitize-recover -fno-omit-frame-pointer"
env: COMPILER="g++-5"

# Ubuntu Linux with glibc using g++-5, debug mode
- os: linux
- stage: Test different OS/CXX/Flags
os: linux
sudo: false
compiler: gcc
cache: ccache
Expand All @@ -77,12 +97,13 @@ matrix:
- mkdir bin ; ln -s /usr/bin/gcc-5 bin/gcc
# env: COMPILER=g++-5 SAN_FLAGS="-fsanitize=undefined -fno-sanitize-recover -fno-omit-frame-pointer"
env:
- COMPILER="g++-5"
- COMPILER="ccache g++-5"
- EXTRA_CXXFLAGS="-DDEBUG"
script: echo "Not running any tests for a debug build."

# Ubuntu Linux with glibc using clang++-3.7
- os: linux
- stage: Test different OS/CXX/Flags
os: linux
sudo: false
compiler: clang
cache: ccache
Expand All @@ -105,7 +126,8 @@ matrix:
- CCACHE_CPP2=yes

# Ubuntu Linux with glibc using clang++-3.7, debug mode
- os: linux
- stage: Test different OS/CXX/Flags
os: linux
sudo: false
compiler: clang
cache: ccache
Expand All @@ -129,27 +151,11 @@ matrix:
- EXTRA_CXXFLAGS="-DDEBUG"
script: echo "Not running any tests for a debug build."

- env: NAME="CPP-LINT"
install:
script: scripts/travis_lint.sh
before_cache:

- env: NAME="DOXYGEN-CHECK"
addons:
apt:
packages:
- doxygen
install:
script: scripts/travis_doxygen.sh
before_cache:

allow_failures:
- env: NAME="CPP-LINT"
install:
script: scripts/travis_lint.sh
before_cache:
- <<: *linter-stage

install:
- ccache --max-size=1G
- COMMAND="make -C src minisat2-download" &&
eval ${PRE_COMMAND} ${COMMAND}
- COMMAND="make -C src boost-download" &&
Expand Down
25 changes: 25 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,31 @@ and passing the resulting equation to a decision procedure.

For full information see [cprover.org](http://www.cprover.org/cbmc).

Versions
========

Get the [latest release](https://github.com/diffblue/cbmc/releases)
* Releases are tested and for production use.

Get the current *develop* version: `git clone https://github.com/diffblue/cbmc.git`
* Develop versions are not recommended for production use.

Report bugs
===========

If you encounter a problem please file a bug report:
* Create an [issue](https://github.com/diffblue/cbmc/issues)

Contributing to the code base
=============================

1. Fork the repository
2. Clone the repository `git clone [email protected]:YOURNAME/cbmc.git`
3. Create a branch from the `develop` branch (default branch)
4. Make your changes (follow the [coding guidelines](https://github.com/diffblue/cbmc/blob/develop/CODING_STANDARD.md))
5. Push your changes to your branch
6. Create a Pull Request targeting the `develop` branch

License
=======
4-clause BSD license, see `LICENSE` file.
Expand Down
1 change: 1 addition & 0 deletions regression/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
tests.log
5 changes: 4 additions & 1 deletion regression/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,14 @@ DIRS = ansi-c \
cbmc \
cpp \
cbmc-java \
cbmc-java-inheritance \
goto-analyzer \
goto-diff \
goto-instrument \
goto-instrument-typedef \
goto-diff \
invariants \
strings \
strings-smoke-tests \
test-script \
# Empty last line

Expand Down
38 changes: 38 additions & 0 deletions regression/cbmc-java-inheritance/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
default: tests.log

test:
@if ! ../test.pl -c ../../../src/cbmc/cbmc ; then \
../failed-tests-printer.pl ; \
exit 1 ; \
fi

tests.log: ../test.pl
@if ! ../test.pl -c ../../../src/cbmc/cbmc ; then \
../failed-tests-printer.pl ; \
exit 1 ; \
fi

show:
@for dir in *; do \
if [ -d "$$dir" ]; then \
vim -o "$$dir/*.java" "$$dir/*.out"; \
fi; \
done;

clean:
find -name '*.out' -execdir $(RM) '{}' \;
find -name '*.gb' -execdir $(RM) '{}' \;
$(RM) tests.log

%.class: %.java ../../src/org.cprover.jar
javac -g -cp ../../src/org.cprover.jar:. $<

nondet_java_files := $(shell find . -name "Nondet*.java")
nondet_class_files := $(patsubst %.java, %.class, $(nondet_java_files))

.PHONY: nondet-class-files
nondet-class-files: $(nondet_class_files)

.PHONY: clean-nondet-class-files
clean-nondet-class-files:
-rm $(nondet_class_files)
Binary file not shown.
Binary file not shown.
Binary file not shown.
5 changes: 5 additions & 0 deletions regression/cbmc-java-inheritance/inheritance01/test.desc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
CORE
test.class
--function test.check
^EXIT=0$
^SIGNAL=0$
20 changes: 20 additions & 0 deletions regression/cbmc-java-inheritance/inheritance01/test.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
class A
{
public int toInt()
{
return 12345;
}
}

class B extends A
{
}

class test
{
void check()
{
B b=new B();
assert(b.toInt()==12345);
}
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
5 changes: 5 additions & 0 deletions regression/cbmc-java-inheritance/inheritance02/test.desc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
CORE
test.class
--function test.check
^EXIT=0$
^SIGNAL=0$
24 changes: 24 additions & 0 deletions regression/cbmc-java-inheritance/inheritance02/test.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
class A
{
protected int toInt()
{
return 12345;
}
}

class B extends A
{
public void secondary()
{
assert(toInt()==12345);
}
}

class test
{
void check()
{
B b=new B();
b.secondary();
}
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
5 changes: 5 additions & 0 deletions regression/cbmc-java-inheritance/inheritance03/test.desc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
CORE
test.class
--function test.check
^EXIT=0$
^SIGNAL=0$
24 changes: 24 additions & 0 deletions regression/cbmc-java-inheritance/inheritance03/test.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
class Z
{
public int toInt()
{
return 12345;
}
}

class A extends Z
{
}

class B extends A
{
}

class test
{
void check()
{
B b=new B();
assert(b.toInt()==12345);
}
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
5 changes: 5 additions & 0 deletions regression/cbmc-java-inheritance/inheritance04/test.desc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
CORE
test.class
--function test.check
^EXIT=0$
^SIGNAL=0$
28 changes: 28 additions & 0 deletions regression/cbmc-java-inheritance/inheritance04/test.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
class A
{
public int toInt()
{
return 12345;
}
}

class B extends A
{
public int toInt()
{
return 9999;
}
}

class Z extends B
{
}

class test
{
void check()
{
Z z=new Z();
assert(z.toInt()==9999);
}
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
5 changes: 5 additions & 0 deletions regression/cbmc-java-inheritance/inheritance05/test.desc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
CORE
test.class
--function test.check
^EXIT=0$
^SIGNAL=0$
Loading