├── README.md ├── bzip2recover ├── bzip2recover ├── input │ └── file.tar.bz2 ├── run.sh └── sydr.sh ├── cjpeg ├── bin │ └── cjpeg ├── input │ └── file.ppm ├── lib │ └── libjpeg.so.7 ├── run.sh └── sydr.sh ├── faad ├── faad ├── input │ └── file.aac ├── lib │ └── libfaad.so.2 ├── run.sh └── sydr.sh ├── foo2lava ├── foo2lava ├── input │ └── file.pbm ├── lib │ └── libjbig.so.0 ├── run.sh └── sydr.sh ├── hdp ├── file.hdf ├── hdp ├── lib │ ├── libdf.so.0 │ └── libmfhdf.so.0 ├── run.sh └── sydr.sh ├── jasper ├── input │ └── file.pgm ├── jasper ├── run.sh └── sydr.sh ├── libjpeg-turbo ├── compress ├── corpus_decompress │ ├── 001-mozjpeg-quantize_ord_dither-536.crash │ ├── 002-mozjpeg-quantize_ord_dither-536.crash │ ├── 101376530-fde56180-38b0-11eb-938d-734119a5b5ba.jpg │ ├── 125976848-341500ce-1b67-4dfc-8e6f-313ce9fedcef.jpg │ ├── 182.jpg │ ├── 49065782-f0ebfd00-f216-11e8-9e9b-a86f3d5ea58a.jpg │ ├── 55.jpg │ ├── 68846842-f95e7180-06cd-11ea-9207-80b34a91f939.jpg │ ├── b64876977.poc │ ├── clusterfuzz-testcase-minimized-pngsave_buffer_fuzzer-5728375846731776.txt │ ├── cnode0006-heap-buffer-overflow-796.gif │ ├── jpeg-image-000.jpg │ ├── jpeg-image-001.jpg │ ├── jpeg-image-002.jpg │ ├── jpeg-image-003.jpg │ ├── kitty2.jpg │ ├── overflow1.jpg │ ├── overflow2.jpg │ ├── poc-798a065f0eac4a5e58a2204400fe462ad0eb3567026e79375dce0be05d129780_min │ ├── poc-a5182a46ba91d856f7a357927405d4912e673f29bb798a56a01349929704aee8_min │ ├── radamsa-0.2.3-19.jpeg │ ├── testimgari.jpg │ ├── testimgint.jpg │ ├── testorig.jpg │ ├── testorig12.jpg │ └── turbo-dht.jpg ├── decompress ├── input.jpg ├── run.sh ├── sydr.sh ├── testimages │ ├── nightshot_iso_100.bmp │ ├── nightshot_iso_100.txt │ ├── test.scan │ ├── test1.icc │ ├── test1.icc.txt │ ├── test2.icc │ ├── test2.icc.txt │ ├── testimgari.jpg │ ├── testimgint.jpg │ ├── testorig.jpg │ ├── testorig.ppm │ ├── testorig12.jpg │ ├── vgl_5674_0098.bmp │ ├── vgl_6434_0018a.bmp │ └── vgl_6548_0026a.bmp └── transform ├── libxml2 ├── comment3.xml ├── libxml2_n ├── libxml2_read.cc ├── run.sh └── sydr.sh ├── minigzip ├── input │ └── 400.pdf ├── minigzip ├── minigzip.c ├── run.sh └── sydr.sh ├── muraster-single ├── muraster ├── pdfin │ └── 235.pdf ├── run.sh └── sydr.sh ├── pk2bm ├── input │ └── file.pk ├── lib │ └── libkpathsea.so.6 ├── pk2bm ├── run.sh └── sydr.sh ├── pnmhistmap ├── input │ ├── file.pgm │ └── file.ppm ├── lib │ └── libnetpbm.so.10 ├── pnmhistmap ├── run-pgm.sh ├── run-ppm.sh ├── sydr-pgm.sh └── sydr-ppm.sh ├── re2 ├── input ├── re2 ├── run.sh └── sydr.sh ├── readelf ├── input │ └── elf_input ├── readelf ├── run.sh └── sydr.sh ├── sqlite3 ├── corruptJ.test ├── input ├── run.sh ├── sqlite3 └── sydr.sh ├── who ├── input ├── run.sh ├── sydr.sh ├── who ├── who.i64 └── who_input ├── yices ├── input │ └── file_smt2 ├── lib │ ├── libgmp.so.10 │ ├── libgmp.so.10.3.2 │ ├── libpoly.so.0 │ └── libpoly.so.0.1.8 ├── run.sh ├── sydr.sh └── yices-smt2 └── yodl ├── input └── file_yodl ├── run.sh ├── sydr.sh └── yodl /README.md: -------------------------------------------------------------------------------- 1 | # Sydr Benchmark 2 | 3 | This repository contains applications for benchmarking Sydr (Symbolic 4 | DynamoRIO). These applications were used to evaluate Sydr in 5 | "Sydr: Cutting Edge Dynamic Symbolic Execution" 6 | \[[paper](https://arxiv.org/abs/2011.09269)\] \[[video](https://www.ispras.ru/conf/2020/video/compiler-technology-11-december.mp4#t=6021)\] \[[slides](https://vishnya.xyz/vishnyakov-isprasopen2020.pdf)\] \[[demo](https://youtu.be/yznSawgD9D0)\]. 7 | 8 | ## Sydr 9 | 10 | Sydr is a dynamic symbolic execution tool that uses 11 | [DynamoRIO](https://github.com/DynamoRIO/dynamorio) for concrete execution and 12 | [Triton](https://github.com/JonathanSalwan/Triton) for symbolic execution. 13 | 14 | ## Cite Us 15 | 16 | ``` 17 | @inproceedings{vishnyakov20, 18 | title = {Sydr: Cutting Edge Dynamic Symbolic Execution}, 19 | author = {Vishnyakov, Alexey and Fedotov, Andrey and Kuts, Daniil and Novikov, 20 | Alexander and Parygina, Darya and Kobrin, Eli and Logunova, Vlada 21 | and Belecky, Pavel and Kurmangaleev, Shamil}, 22 | booktitle = {2020 Ivannikov ISPRAS Open Conference (ISPRAS)}, 23 | pages = {46--54}, 24 | year = {2020}, 25 | publisher = {IEEE}, 26 | doi = {10.1109/ISPRAS51486.2020.00014}, 27 | } 28 | ``` 29 | -------------------------------------------------------------------------------- /bzip2recover/bzip2recover: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/bzip2recover/bzip2recover -------------------------------------------------------------------------------- /bzip2recover/input/file.tar.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/bzip2recover/input/file.tar.bz2 -------------------------------------------------------------------------------- /bzip2recover/run.sh: -------------------------------------------------------------------------------- 1 | ./bzip2recover input/file.tar.bz2 2 | -------------------------------------------------------------------------------- /bzip2recover/sydr.sh: -------------------------------------------------------------------------------- 1 | sydr -f input/file.tar.bz2 -o results -- ./bzip2recover input/file.tar.bz2 2 | -------------------------------------------------------------------------------- /cjpeg/bin/cjpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/cjpeg/bin/cjpeg -------------------------------------------------------------------------------- /cjpeg/input/file.ppm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/cjpeg/input/file.ppm -------------------------------------------------------------------------------- /cjpeg/lib/libjpeg.so.7: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/cjpeg/lib/libjpeg.so.7 -------------------------------------------------------------------------------- /cjpeg/run.sh: -------------------------------------------------------------------------------- 1 | LD_LIBRARY_PATH=lib bin/cjpeg input/file.ppm 2 | -------------------------------------------------------------------------------- /cjpeg/sydr.sh: -------------------------------------------------------------------------------- 1 | LD_LIBRARY_PATH=lib sydr -f input/file.ppm -o results -- bin/cjpeg input/file.ppm 2 | -------------------------------------------------------------------------------- /faad/faad: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/faad/faad -------------------------------------------------------------------------------- /faad/input/file.aac: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/faad/input/file.aac -------------------------------------------------------------------------------- /faad/lib/libfaad.so.2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/faad/lib/libfaad.so.2 -------------------------------------------------------------------------------- /faad/run.sh: -------------------------------------------------------------------------------- 1 | LD_LIBRARY_PATH=lib ./faad input/file.aac 2 | -------------------------------------------------------------------------------- /faad/sydr.sh: -------------------------------------------------------------------------------- 1 | LD_LIBRARY_PATH=lib sydr -f input/file.aac -o results -- ./faad input/file.aac 2 | -------------------------------------------------------------------------------- /foo2lava/foo2lava: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/foo2lava/foo2lava -------------------------------------------------------------------------------- /foo2lava/input/file.pbm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/foo2lava/input/file.pbm -------------------------------------------------------------------------------- /foo2lava/lib/libjbig.so.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/foo2lava/lib/libjbig.so.0 -------------------------------------------------------------------------------- /foo2lava/run.sh: -------------------------------------------------------------------------------- 1 | ./foo2lava input/file.pbm 2 | -------------------------------------------------------------------------------- /foo2lava/sydr.sh: -------------------------------------------------------------------------------- 1 | sydr -f input/file.pbm -o results -- ./foo2lava input/file.pbm 2 | -------------------------------------------------------------------------------- /hdp/file.hdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/hdp/file.hdf -------------------------------------------------------------------------------- /hdp/hdp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/hdp/hdp -------------------------------------------------------------------------------- /hdp/lib/libdf.so.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/hdp/lib/libdf.so.0 -------------------------------------------------------------------------------- /hdp/lib/libmfhdf.so.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/hdp/lib/libmfhdf.so.0 -------------------------------------------------------------------------------- /hdp/run.sh: -------------------------------------------------------------------------------- 1 | LD_LIBRARY_PATH=lib ./hdp dumpsds file.hdf 2 | -------------------------------------------------------------------------------- /hdp/sydr.sh: -------------------------------------------------------------------------------- 1 | LD_LIBRARY_PATH=lib sydr -f file.hdf -o results -- ./hdp dumpsds file.hdf 2 | -------------------------------------------------------------------------------- /jasper/jasper: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/jasper/jasper -------------------------------------------------------------------------------- /jasper/run.sh: -------------------------------------------------------------------------------- 1 | ./jasper -f input/file.pgm -t pnm -F out -T mif 2 | -------------------------------------------------------------------------------- /jasper/sydr.sh: -------------------------------------------------------------------------------- 1 | sydr -f input/file.pgm -o results -- ./jasper -f input/file.pgm -t pnm -F out -T mif 2 | -------------------------------------------------------------------------------- /libjpeg-turbo/compress: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/compress -------------------------------------------------------------------------------- /libjpeg-turbo/corpus_decompress/001-mozjpeg-quantize_ord_dither-536.crash: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/corpus_decompress/001-mozjpeg-quantize_ord_dither-536.crash -------------------------------------------------------------------------------- /libjpeg-turbo/corpus_decompress/002-mozjpeg-quantize_ord_dither-536.crash: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/corpus_decompress/002-mozjpeg-quantize_ord_dither-536.crash -------------------------------------------------------------------------------- /libjpeg-turbo/corpus_decompress/101376530-fde56180-38b0-11eb-938d-734119a5b5ba.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/corpus_decompress/101376530-fde56180-38b0-11eb-938d-734119a5b5ba.jpg -------------------------------------------------------------------------------- /libjpeg-turbo/corpus_decompress/125976848-341500ce-1b67-4dfc-8e6f-313ce9fedcef.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/corpus_decompress/125976848-341500ce-1b67-4dfc-8e6f-313ce9fedcef.jpg -------------------------------------------------------------------------------- /libjpeg-turbo/corpus_decompress/182.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/corpus_decompress/182.jpg -------------------------------------------------------------------------------- /libjpeg-turbo/corpus_decompress/49065782-f0ebfd00-f216-11e8-9e9b-a86f3d5ea58a.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/corpus_decompress/49065782-f0ebfd00-f216-11e8-9e9b-a86f3d5ea58a.jpg -------------------------------------------------------------------------------- /libjpeg-turbo/corpus_decompress/55.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/corpus_decompress/55.jpg -------------------------------------------------------------------------------- /libjpeg-turbo/corpus_decompress/68846842-f95e7180-06cd-11ea-9207-80b34a91f939.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/corpus_decompress/68846842-f95e7180-06cd-11ea-9207-80b34a91f939.jpg -------------------------------------------------------------------------------- /libjpeg-turbo/corpus_decompress/b64876977.poc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/corpus_decompress/b64876977.poc -------------------------------------------------------------------------------- /libjpeg-turbo/corpus_decompress/clusterfuzz-testcase-minimized-pngsave_buffer_fuzzer-5728375846731776.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/corpus_decompress/clusterfuzz-testcase-minimized-pngsave_buffer_fuzzer-5728375846731776.txt -------------------------------------------------------------------------------- /libjpeg-turbo/corpus_decompress/cnode0006-heap-buffer-overflow-796.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/corpus_decompress/cnode0006-heap-buffer-overflow-796.gif -------------------------------------------------------------------------------- /libjpeg-turbo/corpus_decompress/jpeg-image-000.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/corpus_decompress/jpeg-image-000.jpg -------------------------------------------------------------------------------- /libjpeg-turbo/corpus_decompress/jpeg-image-001.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/corpus_decompress/jpeg-image-001.jpg -------------------------------------------------------------------------------- /libjpeg-turbo/corpus_decompress/jpeg-image-002.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/corpus_decompress/jpeg-image-002.jpg -------------------------------------------------------------------------------- /libjpeg-turbo/corpus_decompress/jpeg-image-003.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/corpus_decompress/jpeg-image-003.jpg -------------------------------------------------------------------------------- /libjpeg-turbo/corpus_decompress/kitty2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/corpus_decompress/kitty2.jpg -------------------------------------------------------------------------------- /libjpeg-turbo/corpus_decompress/overflow1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/corpus_decompress/overflow1.jpg -------------------------------------------------------------------------------- /libjpeg-turbo/corpus_decompress/overflow2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/corpus_decompress/overflow2.jpg -------------------------------------------------------------------------------- /libjpeg-turbo/corpus_decompress/poc-798a065f0eac4a5e58a2204400fe462ad0eb3567026e79375dce0be05d129780_min: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/corpus_decompress/poc-798a065f0eac4a5e58a2204400fe462ad0eb3567026e79375dce0be05d129780_min -------------------------------------------------------------------------------- /libjpeg-turbo/corpus_decompress/poc-a5182a46ba91d856f7a357927405d4912e673f29bb798a56a01349929704aee8_min: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/corpus_decompress/poc-a5182a46ba91d856f7a357927405d4912e673f29bb798a56a01349929704aee8_min -------------------------------------------------------------------------------- /libjpeg-turbo/corpus_decompress/radamsa-0.2.3-19.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/corpus_decompress/radamsa-0.2.3-19.jpeg -------------------------------------------------------------------------------- /libjpeg-turbo/corpus_decompress/testimgari.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/corpus_decompress/testimgari.jpg -------------------------------------------------------------------------------- /libjpeg-turbo/corpus_decompress/testimgint.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/corpus_decompress/testimgint.jpg -------------------------------------------------------------------------------- /libjpeg-turbo/corpus_decompress/testorig.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/corpus_decompress/testorig.jpg -------------------------------------------------------------------------------- /libjpeg-turbo/corpus_decompress/testorig12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/corpus_decompress/testorig12.jpg -------------------------------------------------------------------------------- /libjpeg-turbo/corpus_decompress/turbo-dht.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/corpus_decompress/turbo-dht.jpg -------------------------------------------------------------------------------- /libjpeg-turbo/decompress: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/decompress -------------------------------------------------------------------------------- /libjpeg-turbo/input.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/input.jpg -------------------------------------------------------------------------------- /libjpeg-turbo/run.sh: -------------------------------------------------------------------------------- 1 | ./decompress input.jpg 2 | -------------------------------------------------------------------------------- /libjpeg-turbo/sydr.sh: -------------------------------------------------------------------------------- 1 | sydr -f input.jpg -o results -- ./decompress input.jpg 2 | -------------------------------------------------------------------------------- /libjpeg-turbo/testimages/nightshot_iso_100.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/testimages/nightshot_iso_100.bmp -------------------------------------------------------------------------------- /libjpeg-turbo/testimages/nightshot_iso_100.txt: -------------------------------------------------------------------------------- 1 | libjpeg-turbo note: This image was extracted from the 8-bit nightshot_iso_100 2 | image. The original can be downloaded at the link below. 3 | 4 | The New Image Compression Test Set - Jan 2008 5 | http://www.imagecompression.info/test_images 6 | 7 | The images historically used for compression research (lena, barbra, pepper etc...) have outlived their useful life and its about time they become a part of history only. They are too small, come from data sources too old and are available in only 8-bit precision. 8 | 9 | These images have been carefully selected to aid in image compression algorithm research and evaluation. These are photographic images chosen to come from a wide variety of sources and each one picked to stress different aspects of algorithms. Images are available in 8-bit, 16-bit and 16-bit linear variations, RGB and gray. 10 | 11 | Images are available without any prohibitive copyright restrictions. 12 | 13 | These images are (c) there respective owners. You are granted full redistribution and publication rights on these images provided: 14 | 15 | 1. The origin of the pictures must not be misrepresented; you must not claim that you took the original pictures. If you use, publish or redistribute them, an acknowledgment would be appreciated but is not required. 16 | 2. Altered versions must be plainly marked as such, and must not be misinterpreted as being the originals. 17 | 3. No payment is required for distribution this material, it must be available freely under the conditions stated here. That is, it is prohibited to sell the material. 18 | 4. This notice may not be removed or altered from any distribution. 19 | 20 | Acknowledgments: A lot of people contributed a lot of time and effort in making this test set possible. Thanks to everyone who voiced their opinion in any of the discussions online. Thanks to Axel Becker, Thomas Richter and Niels Fröhling for their extensive help in picking images, running all the various tests etc... Thanks to Pete Fraser, Tony Story, Wayne J. Cosshall, David Coffin, Bruce Lindbloom and raw.fotosite.pl for the images which make up this set. 21 | 22 | Sachin Garg [India] 23 | sachingarg@c10n.info 24 | 25 | www.sachingarg.com | www.c10n.info | www.imagecompression.info 26 | -------------------------------------------------------------------------------- /libjpeg-turbo/testimages/test.scan: -------------------------------------------------------------------------------- 1 | 0 1 2: 0 0 0 0; 2 | 0: 1 9 0 0; 3 | 0: 10 41 0 2; 4 | 0: 10 41 2 1; 5 | 0: 10 41 1 0; 6 | 0: 42 63 0 0; 7 | 1: 1 63 0 0; 8 | 2: 1 63 0 0; 9 | -------------------------------------------------------------------------------- /libjpeg-turbo/testimages/test1.icc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/testimages/test1.icc -------------------------------------------------------------------------------- /libjpeg-turbo/testimages/test1.icc.txt: -------------------------------------------------------------------------------- 1 | Little CMS 2 | Copyright (c) 1998-2011 Marti Maria Saguer 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy of 5 | this software and associated documentation files (the "Software"), to deal in 6 | the Software without restriction, including without limitation the rights to 7 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 8 | of the Software, and to permit persons to whom the Software is furnished to do 9 | so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in all 12 | copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 | SOFTWARE. 21 | -------------------------------------------------------------------------------- /libjpeg-turbo/testimages/test2.icc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/testimages/test2.icc -------------------------------------------------------------------------------- /libjpeg-turbo/testimages/test2.icc.txt: -------------------------------------------------------------------------------- 1 | Little CMS 2 | Copyright (c) 1998-2011 Marti Maria Saguer 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy of 5 | this software and associated documentation files (the "Software"), to deal in 6 | the Software without restriction, including without limitation the rights to 7 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 8 | of the Software, and to permit persons to whom the Software is furnished to do 9 | so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in all 12 | copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 | SOFTWARE. 21 | -------------------------------------------------------------------------------- /libjpeg-turbo/testimages/testimgari.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/testimages/testimgari.jpg -------------------------------------------------------------------------------- /libjpeg-turbo/testimages/testimgint.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/testimages/testimgint.jpg -------------------------------------------------------------------------------- /libjpeg-turbo/testimages/testorig.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/testimages/testorig.jpg -------------------------------------------------------------------------------- /libjpeg-turbo/testimages/testorig.ppm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/testimages/testorig.ppm -------------------------------------------------------------------------------- /libjpeg-turbo/testimages/testorig12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/testimages/testorig12.jpg -------------------------------------------------------------------------------- /libjpeg-turbo/testimages/vgl_5674_0098.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/testimages/vgl_5674_0098.bmp -------------------------------------------------------------------------------- /libjpeg-turbo/testimages/vgl_6434_0018a.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/testimages/vgl_6434_0018a.bmp -------------------------------------------------------------------------------- /libjpeg-turbo/testimages/vgl_6548_0026a.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/testimages/vgl_6548_0026a.bmp -------------------------------------------------------------------------------- /libjpeg-turbo/transform: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libjpeg-turbo/transform -------------------------------------------------------------------------------- /libxml2/comment3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | content of node 1 5 | 6 | this node has attributes 7 | other way to create content (which is also a node) 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /libxml2/libxml2_n: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/libxml2/libxml2_n -------------------------------------------------------------------------------- /libxml2/libxml2_read.cc: -------------------------------------------------------------------------------- 1 | /** 2 | * section: Parsing 3 | * synopsis: Parse and validate an XML file to a tree and free the result 4 | * purpose: Create a parser context for an XML file, then parse and validate 5 | * the file, creating a tree, check the validation result 6 | * and xmlFreeDoc() to free the resulting tree. 7 | * usage: parse2 test2.xml 8 | * test: parse2 test2.xml 9 | * author: Daniel Veillard 10 | * copy: see Copyright for the status of this software. 11 | */ 12 | 13 | #include 14 | #include 15 | #include 16 | #include 17 | 18 | //============================ 19 | // parse.c 20 | 21 | /** 22 | * example1Func: 23 | * @filename: a filename or an URL 24 | * 25 | * Parse the resource and free the resulting tree 26 | */ 27 | static void 28 | example1Func(const char *filename) { 29 | xmlDocPtr doc; /* the resulting document tree */ 30 | printf("parse1"); 31 | doc = xmlReadFile(filename, NULL, 0); 32 | if (doc == NULL) { 33 | fprintf(stderr, "Failed to parse %s\n", filename); 34 | return; 35 | } 36 | xmlFreeDoc(doc); 37 | } 38 | 39 | 40 | //============================ 41 | // parse2.c 42 | 43 | /** 44 | * exampleFunc: 45 | * @filename: a filename or an URL 46 | * 47 | * Parse and validate the resource and free the resulting tree 48 | */ 49 | static void 50 | exampleFunc(const char *filename) { 51 | xmlParserCtxtPtr ctxt; /* the parser context */ 52 | xmlDocPtr doc; /* the resulting document tree */ 53 | printf("parse2"); 54 | /* create a parser context */ 55 | ctxt = xmlNewParserCtxt(); 56 | if (ctxt == NULL) { 57 | fprintf(stderr, "Failed to allocate parser context\n"); 58 | return; 59 | } 60 | /* parse the file, activating the DTD validation option */ 61 | doc = xmlCtxtReadFile(ctxt, filename, NULL, XML_PARSE_DTDVALID); 62 | /* check if parsing suceeded */ 63 | if (doc == NULL) { 64 | fprintf(stderr, "Failed to parse %s\n", filename); 65 | } else { 66 | /* check if validation suceeded */ 67 | if (ctxt->valid == 0) 68 | fprintf(stderr, "Failed to validate %s\n", filename); 69 | /* free up the resulting document */ 70 | xmlFreeDoc(doc); 71 | } 72 | /* free up the parser context */ 73 | xmlFreeParserCtxt(ctxt); 74 | } 75 | 76 | //============================ 77 | // parse4.c 78 | 79 | static FILE *desc; 80 | 81 | /** 82 | * readPacket: 83 | * @mem: array to store the packet 84 | * @size: the packet size 85 | * 86 | * read at most @size bytes from the document and store it in @mem 87 | * 88 | * Returns the number of bytes read 89 | */ 90 | static int 91 | readPacket(char *mem, int size) { 92 | int res; 93 | 94 | res = fread(mem, 1, size, desc); 95 | return(res); 96 | } 97 | 98 | /** 99 | * example4Func: 100 | * @filename: a filename or an URL 101 | * 102 | * Parse the resource and free the resulting tree 103 | */ 104 | static void 105 | example4Func(const char *filename) { 106 | xmlParserCtxtPtr ctxt; 107 | char chars[4]; 108 | xmlDocPtr doc; /* the resulting document tree */ 109 | int res; 110 | printf("parse4"); 111 | /* 112 | * Read a few first byte to check the input used for the 113 | * encoding detection at the parser level. 114 | */ 115 | res = readPacket(chars, 4); 116 | if (res <= 0) { 117 | fprintf(stderr, "Failed to parse %s\n", filename); 118 | return; 119 | } 120 | 121 | /* 122 | * Create a progressive parsing context, the 2 first arguments 123 | * are not used since we want to build a tree and not use a SAX 124 | * parsing interface. We also pass the first bytes of the document 125 | * to allow encoding detection when creating the parser but this 126 | * is optional. 127 | */ 128 | ctxt = xmlCreatePushParserCtxt(NULL, NULL, 129 | chars, res, filename); 130 | if (ctxt == NULL) { 131 | fprintf(stderr, "Failed to create parser context !\n"); 132 | return; 133 | } 134 | 135 | /* 136 | * loop on the input getting the document data, of course 4 bytes 137 | * at a time is not realistic but allows to verify testing on small 138 | * documents. 139 | */ 140 | while ((res = readPacket(chars, 4)) > 0) { 141 | xmlParseChunk(ctxt, chars, res, 0); 142 | } 143 | 144 | /* 145 | * there is no more input, indicate the parsing is finished. 146 | */ 147 | xmlParseChunk(ctxt, chars, 0, 1); 148 | 149 | /* 150 | * collect the document back and if it was wellformed 151 | * and destroy the parser context. 152 | */ 153 | doc = ctxt->myDoc; 154 | res = ctxt->wellFormed; 155 | xmlFreeParserCtxt(ctxt); 156 | 157 | if (!res) { 158 | fprintf(stderr, "Failed to parse %s\n", filename); 159 | } 160 | 161 | /* 162 | * since we don't use the document, destroy it now. 163 | */ 164 | xmlFreeDoc(doc); 165 | } 166 | 167 | //============================ 168 | // reader1.c 169 | 170 | /** 171 | * processNode: 172 | * @reader: the xmlReader 173 | * 174 | * Dump information about the current node 175 | */ 176 | static void 177 | processNode(xmlTextReaderPtr reader) { 178 | const xmlChar *name, *value; 179 | 180 | name = xmlTextReaderConstName(reader); 181 | if (name == NULL) 182 | name = BAD_CAST "--"; 183 | 184 | value = xmlTextReaderConstValue(reader); 185 | 186 | printf("%d %d %s %d %d", 187 | xmlTextReaderDepth(reader), 188 | xmlTextReaderNodeType(reader), 189 | name, 190 | xmlTextReaderIsEmptyElement(reader), 191 | xmlTextReaderHasValue(reader)); 192 | if (value == NULL) 193 | printf("\n"); 194 | else { 195 | if (xmlStrlen(value) > 40) 196 | printf(" %.40s...\n", value); 197 | else 198 | printf(" %s\n", value); 199 | } 200 | } 201 | 202 | /** 203 | * streamFile: 204 | * @filename: the file name to parse 205 | * 206 | * Parse and print information about an XML file. 207 | */ 208 | static void 209 | streamFile(const char *filename) { 210 | xmlTextReaderPtr reader; 211 | int ret; 212 | printf("reader1"); 213 | reader = xmlReaderForFile(filename, NULL, 0); 214 | if (reader != NULL) { 215 | ret = xmlTextReaderRead(reader); 216 | while (ret == 1) { 217 | processNode(reader); 218 | ret = xmlTextReaderRead(reader); 219 | } 220 | xmlFreeTextReader(reader); 221 | if (ret != 0) { 222 | fprintf(stderr, "%s : failed to parse\n", filename); 223 | } 224 | } else { 225 | fprintf(stderr, "Unable to open %s\n", filename); 226 | } 227 | } 228 | 229 | //============================ 230 | // reader2.c 231 | 232 | /** 233 | * processNode: 234 | * @reader: the xmlReader 235 | * 236 | * Dump information about the current node 237 | */ 238 | static void 239 | processNode2(xmlTextReaderPtr reader) { 240 | const xmlChar *name, *value; 241 | 242 | name = xmlTextReaderConstName(reader); 243 | if (name == NULL) 244 | name = BAD_CAST "--"; 245 | 246 | value = xmlTextReaderConstValue(reader); 247 | 248 | printf("%d %d %s %d %d", 249 | xmlTextReaderDepth(reader), 250 | xmlTextReaderNodeType(reader), 251 | name, 252 | xmlTextReaderIsEmptyElement(reader), 253 | xmlTextReaderHasValue(reader)); 254 | if (value == NULL) 255 | printf("\n"); 256 | else { 257 | if (xmlStrlen(value) > 40) 258 | printf(" %.40s...\n", value); 259 | else 260 | printf(" %s\n", value); 261 | } 262 | } 263 | 264 | /** 265 | * streamFile: 266 | * @filename: the file name to parse 267 | * 268 | * Parse, validate and print information about an XML file. 269 | */ 270 | static void 271 | streamFile2(const char *filename) { 272 | xmlTextReaderPtr reader; 273 | int ret; 274 | printf("reader2"); 275 | 276 | /* 277 | * Pass some special parsing options to activate DTD attribute defaulting, 278 | * entities substitution and DTD validation 279 | */ 280 | reader = xmlReaderForFile(filename, NULL, 281 | XML_PARSE_DTDATTR | /* default DTD attributes */ 282 | XML_PARSE_NOENT | /* substitute entities */ 283 | XML_PARSE_DTDVALID); /* validate with the DTD */ 284 | if (reader != NULL) { 285 | ret = xmlTextReaderRead(reader); 286 | while (ret == 1) { 287 | processNode2(reader); 288 | ret = xmlTextReaderRead(reader); 289 | } 290 | /* 291 | * Once the document has been fully parsed check the validation results 292 | */ 293 | if (xmlTextReaderIsValid(reader) != 1) { 294 | fprintf(stderr, "Document %s does not validate\n", filename); 295 | } 296 | xmlFreeTextReader(reader); 297 | if (ret != 0) { 298 | fprintf(stderr, "%s : failed to parse\n", filename); 299 | } 300 | } else { 301 | fprintf(stderr, "Unable to open %s\n", filename); 302 | } 303 | } 304 | 305 | int main(int argc, char **argv) { 306 | if (argc != 2) 307 | return(1); 308 | 309 | //============================ 310 | // parse.c 311 | 312 | /* 313 | * this initialize the library and check potential ABI mismatches 314 | * between the version it was compiled for and the actual shared 315 | * library used. 316 | */ 317 | LIBXML_TEST_VERSION 318 | 319 | example1Func(argv[1]); 320 | 321 | /* 322 | * Cleanup function for the XML library. 323 | */ 324 | xmlCleanupParser(); 325 | /* 326 | * this is to debug memory for regression tests 327 | */ 328 | xmlMemoryDump(); 329 | 330 | //============================ 331 | // parse2.c 332 | 333 | /* 334 | * this initialize the library and check potential ABI mismatches 335 | * between the version it was compiled for and the actual shared 336 | * library used. 337 | */ 338 | LIBXML_TEST_VERSION 339 | 340 | exampleFunc(argv[1]); 341 | 342 | /* 343 | * Cleanup function for the XML library. 344 | */ 345 | xmlCleanupParser(); 346 | /* 347 | * this is to debug memory for regression tests 348 | */ 349 | xmlMemoryDump(); 350 | 351 | //============================ 352 | // parse4.c 353 | 354 | /* 355 | * this initialize the library and check potential ABI mismatches 356 | * between the version it was compiled for and the actual shared 357 | * library used. 358 | */ 359 | LIBXML_TEST_VERSION 360 | 361 | /* 362 | * simulate a progressive parsing using the input file. 363 | */ 364 | desc = fopen(argv[1], "rb"); 365 | if (desc != NULL) { 366 | example4Func(argv[1]); 367 | fclose(desc); 368 | } else { 369 | fprintf(stderr, "Failed to parse %s\n", argv[1]); 370 | } 371 | 372 | /* 373 | * Cleanup function for the XML library. 374 | */ 375 | xmlCleanupParser(); 376 | /* 377 | * this is to debug memory for regression tests 378 | */ 379 | xmlMemoryDump(); 380 | 381 | //============================ 382 | // tree2.c 383 | printf("tree2"); 384 | xmlDocPtr doc = NULL; /* document pointer */ 385 | xmlNodePtr root_node = NULL, node = NULL, node1 = NULL;/* node pointers */ 386 | char buff[256]; 387 | int i, j; 388 | 389 | LIBXML_TEST_VERSION; 390 | 391 | /* 392 | * Creates a new document, a node and set it as a root node 393 | */ 394 | doc = xmlNewDoc(BAD_CAST "1.0"); 395 | root_node = xmlNewNode(NULL, BAD_CAST "root"); 396 | xmlDocSetRootElement(doc, root_node); 397 | 398 | /* 399 | * Creates a DTD declaration. Isn't mandatory. 400 | */ 401 | xmlCreateIntSubset(doc, BAD_CAST "root", NULL, BAD_CAST "tree2.dtd"); 402 | 403 | /* 404 | * xmlNewChild() creates a new node, which is "attached" as child node 405 | * of root_node node. 406 | */ 407 | xmlNewChild(root_node, NULL, BAD_CAST "node1", 408 | BAD_CAST "content of node 1"); 409 | /* 410 | * The same as above, but the new child node doesn't have a content 411 | */ 412 | xmlNewChild(root_node, NULL, BAD_CAST "node2", NULL); 413 | 414 | /* 415 | * xmlNewProp() creates attributes, which is "attached" to an node. 416 | * It returns xmlAttrPtr, which isn't used here. 417 | */ 418 | node = 419 | xmlNewChild(root_node, NULL, BAD_CAST "node3", 420 | BAD_CAST "this node has attributes"); 421 | xmlNewProp(node, BAD_CAST "attribute", BAD_CAST "yes"); 422 | xmlNewProp(node, BAD_CAST "foo", BAD_CAST "bar"); 423 | 424 | /* 425 | * Here goes another way to create nodes. xmlNewNode() and xmlNewText 426 | * creates a node and a text node separately. They are "attached" 427 | * by xmlAddChild() 428 | */ 429 | node = xmlNewNode(NULL, BAD_CAST "node4"); 430 | node1 = xmlNewText(BAD_CAST 431 | "other way to create content (which is also a node)"); 432 | xmlAddChild(node, node1); 433 | xmlAddChild(root_node, node); 434 | 435 | /* 436 | * A simple loop that "automates" nodes creation 437 | */ 438 | for (i = 5; i < 7; i++) { 439 | sprintf(buff, "node%d", i); 440 | node = xmlNewChild(root_node, NULL, BAD_CAST buff, NULL); 441 | for (j = 1; j < 4; j++) { 442 | sprintf(buff, "node%d%d", i, j); 443 | node1 = xmlNewChild(node, NULL, BAD_CAST buff, NULL); 444 | xmlNewProp(node1, BAD_CAST "odd", BAD_CAST((j % 2) ? "no" : "yes")); 445 | } 446 | } 447 | 448 | /* 449 | * Dumping document to stdio or file 450 | */ 451 | xmlSaveFormatFileEnc(argc > 1 ? argv[1] : "-", doc, "UTF-8", 1); 452 | 453 | /*free the document */ 454 | xmlFreeDoc(doc); 455 | 456 | /* 457 | *Free the global variables that may 458 | *have been allocated by the parser. 459 | */ 460 | xmlCleanupParser(); 461 | 462 | /* 463 | * this is to debug memory for regression tests 464 | */ 465 | xmlMemoryDump(); 466 | 467 | //============================ 468 | // reader1.c 469 | 470 | 471 | /* 472 | * this initialize the library and check potential ABI mismatches 473 | * between the version it was compiled for and the actual shared 474 | * library used. 475 | */ 476 | LIBXML_TEST_VERSION 477 | 478 | streamFile(argv[1]); 479 | 480 | /* 481 | * Cleanup function for the XML library. 482 | */ 483 | xmlCleanupParser(); 484 | /* 485 | * this is to debug memory for regression tests 486 | */ 487 | xmlMemoryDump(); 488 | 489 | //============================ 490 | // reader2.c 491 | 492 | /* 493 | * this initialize the library and check potential ABI mismatches 494 | * between the version it was compiled for and the actual shared 495 | * library used. 496 | */ 497 | LIBXML_TEST_VERSION 498 | 499 | streamFile2(argv[1]); 500 | 501 | /* 502 | * Cleanup function for the XML library. 503 | */ 504 | xmlCleanupParser(); 505 | /* 506 | * this is to debug memory for regression tests 507 | */ 508 | xmlMemoryDump(); 509 | 510 | 511 | return(0); 512 | } 513 | 514 | -------------------------------------------------------------------------------- /libxml2/run.sh: -------------------------------------------------------------------------------- 1 | ./libxml2_n comment3.xml 2 | -------------------------------------------------------------------------------- /libxml2/sydr.sh: -------------------------------------------------------------------------------- 1 | sydr -f comment3.xml -o results -- ./libxml2_n comment3.xml 2 | -------------------------------------------------------------------------------- /minigzip/input/400.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/minigzip/input/400.pdf -------------------------------------------------------------------------------- /minigzip/minigzip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/minigzip/minigzip -------------------------------------------------------------------------------- /minigzip/minigzip.c: -------------------------------------------------------------------------------- 1 | /* minigzip.c -- simulate gzip using the zlib compression library 2 | * Copyright (C) 1995-2005 Jean-loup Gailly. 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* 7 | * minigzip is a minimal implementation of the gzip utility. This is 8 | * only an example of using zlib and isn't meant to replace the 9 | * full-featured gzip. No attempt is made to deal with file systems 10 | * limiting names to 14 or 8+3 characters, etc... Error checking is 11 | * very limited. So use minigzip only for testing; use gzip for the 12 | * real thing. On MSDOS, use only on file names without extension 13 | * or in pipe mode. 14 | */ 15 | 16 | /* @(#) $Id$ */ 17 | 18 | #include 19 | #include "zlib.h" 20 | 21 | #ifdef STDC 22 | # include 23 | # include 24 | #endif 25 | 26 | #ifdef USE_MMAP 27 | # include 28 | # include 29 | # include 30 | #endif 31 | 32 | #if defined(MSDOS) || defined(OS2) || defined(WIN32) || defined(__CYGWIN__) 33 | # include 34 | # include 35 | # define SET_BINARY_MODE(file) setmode(fileno(file), O_BINARY) 36 | #else 37 | # define SET_BINARY_MODE(file) 38 | #endif 39 | 40 | #ifdef VMS 41 | # define unlink delete 42 | # define GZ_SUFFIX "-gz" 43 | #endif 44 | #ifdef RISCOS 45 | # define unlink remove 46 | # define GZ_SUFFIX "-gz" 47 | # define fileno(file) file->__file 48 | #endif 49 | #if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os 50 | # include /* for fileno */ 51 | #endif 52 | 53 | #ifndef WIN32 /* unlink already in stdio.h for WIN32 */ 54 | extern int unlink OF((const char *)); 55 | #endif 56 | 57 | #ifndef GZ_SUFFIX 58 | # define GZ_SUFFIX ".gz" 59 | #endif 60 | #define SUFFIX_LEN (sizeof(GZ_SUFFIX)-1) 61 | 62 | #define BUFLEN 16384 63 | #define MAX_NAME_LEN 1024 64 | 65 | #ifdef MAXSEG_64K 66 | # define local static 67 | /* Needed for systems with limitation on stack size. */ 68 | #else 69 | # define local 70 | #endif 71 | 72 | char *prog; 73 | 74 | void error OF((const char *msg)); 75 | void gz_compress OF((FILE *in, gzFile out)); 76 | #ifdef USE_MMAP 77 | int gz_compress_mmap OF((FILE *in, gzFile out)); 78 | #endif 79 | void gz_uncompress OF((gzFile in, FILE *out)); 80 | void file_compress OF((char *file, char *mode)); 81 | void file_uncompress OF((char *file)); 82 | int main OF((int argc, char *argv[])); 83 | 84 | /* =========================================================================== 85 | * Display error message and exit 86 | */ 87 | void error(msg) 88 | const char *msg; 89 | { 90 | fprintf(stderr, "%s: %s\n", prog, msg); 91 | exit(1); 92 | } 93 | 94 | /* =========================================================================== 95 | * Compress input to output then close both files. 96 | */ 97 | 98 | void gz_compress(in, out) 99 | FILE *in; 100 | gzFile out; 101 | { 102 | local char buf[BUFLEN]; 103 | int len; 104 | int err; 105 | 106 | #ifdef USE_MMAP 107 | /* Try first compressing with mmap. If mmap fails (minigzip used in a 108 | * pipe), use the normal fread loop. 109 | */ 110 | if (gz_compress_mmap(in, out) == Z_OK) return; 111 | #endif 112 | for (;;) { 113 | len = (int)fread(buf, 1, sizeof(buf), in); 114 | if (ferror(in)) { 115 | perror("fread"); 116 | exit(1); 117 | } 118 | if (len == 0) break; 119 | 120 | if (gzwrite(out, buf, (unsigned)len) != len) error(gzerror(out, &err)); 121 | } 122 | fclose(in); 123 | if (gzclose(out) != Z_OK) error("failed gzclose"); 124 | } 125 | 126 | #ifdef USE_MMAP /* MMAP version, Miguel Albrecht */ 127 | 128 | /* Try compressing the input file at once using mmap. Return Z_OK if 129 | * if success, Z_ERRNO otherwise. 130 | */ 131 | int gz_compress_mmap(in, out) 132 | FILE *in; 133 | gzFile out; 134 | { 135 | int len; 136 | int err; 137 | int ifd = fileno(in); 138 | caddr_t buf; /* mmap'ed buffer for the entire input file */ 139 | off_t buf_len; /* length of the input file */ 140 | struct stat sb; 141 | 142 | /* Determine the size of the file, needed for mmap: */ 143 | if (fstat(ifd, &sb) < 0) return Z_ERRNO; 144 | buf_len = sb.st_size; 145 | if (buf_len <= 0) return Z_ERRNO; 146 | 147 | /* Now do the actual mmap: */ 148 | buf = mmap((caddr_t) 0, buf_len, PROT_READ, MAP_SHARED, ifd, (off_t)0); 149 | if (buf == (caddr_t)(-1)) return Z_ERRNO; 150 | 151 | /* Compress the whole file at once: */ 152 | len = gzwrite(out, (char *)buf, (unsigned)buf_len); 153 | 154 | if (len != (int)buf_len) error(gzerror(out, &err)); 155 | 156 | munmap(buf, buf_len); 157 | fclose(in); 158 | if (gzclose(out) != Z_OK) error("failed gzclose"); 159 | return Z_OK; 160 | } 161 | #endif /* USE_MMAP */ 162 | 163 | /* =========================================================================== 164 | * Uncompress input to output then close both files. 165 | */ 166 | void gz_uncompress(in, out) 167 | gzFile in; 168 | FILE *out; 169 | { 170 | local char buf[BUFLEN]; 171 | int len; 172 | int err; 173 | 174 | for (;;) { 175 | len = gzread(in, buf, sizeof(buf)); 176 | if (len < 0) error (gzerror(in, &err)); 177 | if (len == 0) break; 178 | 179 | if ((int)fwrite(buf, 1, (unsigned)len, out) != len) { 180 | error("failed fwrite"); 181 | } 182 | } 183 | if (fclose(out)) error("failed fclose"); 184 | 185 | if (gzclose(in) != Z_OK) error("failed gzclose"); 186 | } 187 | 188 | 189 | /* =========================================================================== 190 | * Compress the given file: create a corresponding .gz file and remove the 191 | * original. 192 | */ 193 | void file_compress(file, mode) 194 | char *file; 195 | char *mode; 196 | { 197 | local char outfile[MAX_NAME_LEN]; 198 | FILE *in; 199 | gzFile out; 200 | 201 | strcpy(outfile, file); 202 | strcat(outfile, GZ_SUFFIX); 203 | 204 | in = fopen(file, "rb"); 205 | if (in == NULL) { 206 | perror(file); 207 | exit(1); 208 | } 209 | out = gzopen(outfile, mode); 210 | if (out == NULL) { 211 | fprintf(stderr, "%s: can't gzopen %s\n", prog, outfile); 212 | exit(1); 213 | } 214 | gz_compress(in, out); 215 | 216 | unlink(file); 217 | } 218 | 219 | 220 | /* =========================================================================== 221 | * Uncompress the given file and remove the original. 222 | */ 223 | void file_uncompress(file) 224 | char *file; 225 | { 226 | local char buf[MAX_NAME_LEN]; 227 | char *infile, *outfile; 228 | FILE *out; 229 | gzFile in; 230 | uInt len = (uInt)strlen(file); 231 | 232 | strcpy(buf, file); 233 | 234 | if (len > SUFFIX_LEN && strcmp(file+len-SUFFIX_LEN, GZ_SUFFIX) == 0) { 235 | infile = file; 236 | outfile = buf; 237 | outfile[len-3] = '\0'; 238 | } else { 239 | outfile = file; 240 | infile = buf; 241 | strcat(infile, GZ_SUFFIX); 242 | } 243 | in = gzopen(infile, "rb"); 244 | if (in == NULL) { 245 | fprintf(stderr, "%s: can't gzopen %s\n", prog, infile); 246 | exit(1); 247 | } 248 | out = fopen(outfile, "wb"); 249 | if (out == NULL) { 250 | perror(file); 251 | exit(1); 252 | } 253 | 254 | gz_uncompress(in, out); 255 | 256 | unlink(infile); 257 | } 258 | 259 | 260 | /* =========================================================================== 261 | * Usage: minigzip [-d] [-f] [-h] [-r] [-1 to -9] [files...] 262 | * -d : decompress 263 | * -f : compress with Z_FILTERED 264 | * -h : compress with Z_HUFFMAN_ONLY 265 | * -r : compress with Z_RLE 266 | * -1 to -9 : compression level 267 | */ 268 | 269 | int main(argc, argv) 270 | int argc; 271 | char *argv[]; 272 | { 273 | int uncompr = 0; 274 | gzFile file; 275 | char outmode[20]; 276 | 277 | strcpy(outmode, "wb6 "); 278 | 279 | prog = argv[0]; 280 | argc--, argv++; 281 | 282 | while (argc > 0) { 283 | if (strcmp(*argv, "-d") == 0) 284 | uncompr = 1; 285 | else if (strcmp(*argv, "-f") == 0) 286 | outmode[3] = 'f'; 287 | else if (strcmp(*argv, "-h") == 0) 288 | outmode[3] = 'h'; 289 | else if (strcmp(*argv, "-r") == 0) 290 | outmode[3] = 'R'; 291 | else if ((*argv)[0] == '-' && (*argv)[1] >= '1' && (*argv)[1] <= '9' && 292 | (*argv)[2] == 0) 293 | outmode[2] = (*argv)[1]; 294 | else 295 | break; 296 | argc--, argv++; 297 | } 298 | if (outmode[3] == ' ') 299 | outmode[3] = 0; 300 | if (argc == 0) { 301 | SET_BINARY_MODE(stdin); 302 | SET_BINARY_MODE(stdout); 303 | if (uncompr) { 304 | file = gzdopen(fileno(stdin), "rb"); 305 | if (file == NULL) error("can't gzdopen stdin"); 306 | gz_uncompress(file, stdout); 307 | } else { 308 | file = gzdopen(fileno(stdout), outmode); 309 | if (file == NULL) error("can't gzdopen stdout"); 310 | gz_compress(stdin, file); 311 | } 312 | } else { 313 | do { 314 | if (uncompr) { 315 | file_uncompress(*argv); 316 | } else { 317 | file_compress(*argv, outmode); 318 | } 319 | } while (argv++, --argc); 320 | } 321 | return 0; 322 | } 323 | -------------------------------------------------------------------------------- /minigzip/run.sh: -------------------------------------------------------------------------------- 1 | ./minigzip input/400.pdf 2 | -------------------------------------------------------------------------------- /minigzip/sydr.sh: -------------------------------------------------------------------------------- 1 | sydr -f input/400.pdf -o results -- ./minigzip input/400.pdf 2 | -------------------------------------------------------------------------------- /muraster-single/muraster: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/muraster-single/muraster -------------------------------------------------------------------------------- /muraster-single/pdfin/235.pdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | NPS - Page Not Found 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | Page Not Found 20 | I'm sorry that page could not be found, but you may want to try this park's homepage here: http://www.nps.gov/pisp/. 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /muraster-single/run.sh: -------------------------------------------------------------------------------- 1 | ./muraster pdfin/235.pdf 2 | -------------------------------------------------------------------------------- /muraster-single/sydr.sh: -------------------------------------------------------------------------------- 1 | sydr -f pdfin/235.pdf -o results -- ./muraster pdfin/235.pdf 2 | -------------------------------------------------------------------------------- /pk2bm/input/file.pk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/pk2bm/input/file.pk -------------------------------------------------------------------------------- /pk2bm/lib/libkpathsea.so.6: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/pk2bm/lib/libkpathsea.so.6 -------------------------------------------------------------------------------- /pk2bm/pk2bm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/pk2bm/pk2bm -------------------------------------------------------------------------------- /pk2bm/run.sh: -------------------------------------------------------------------------------- 1 | LD_LIBRARY_PATH=lib ./pk2bm input/file.pk 2 | -------------------------------------------------------------------------------- /pk2bm/sydr.sh: -------------------------------------------------------------------------------- 1 | LD_LIBRARY_PATH=lib sydr -f input/file.pk -o results -- ./pk2bm input/file.pk 2 | -------------------------------------------------------------------------------- /pnmhistmap/input/file.ppm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/pnmhistmap/input/file.ppm -------------------------------------------------------------------------------- /pnmhistmap/lib/libnetpbm.so.10: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/pnmhistmap/lib/libnetpbm.so.10 -------------------------------------------------------------------------------- /pnmhistmap/pnmhistmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/pnmhistmap/pnmhistmap -------------------------------------------------------------------------------- /pnmhistmap/run-pgm.sh: -------------------------------------------------------------------------------- 1 | LD_LIBRARY_PATH=lib ./pnmhistmap input/file.pgm 2 | -------------------------------------------------------------------------------- /pnmhistmap/run-ppm.sh: -------------------------------------------------------------------------------- 1 | LD_LIBRARY_PATH=lib ./pnmhistmap input/file.ppm 2 | -------------------------------------------------------------------------------- /pnmhistmap/sydr-pgm.sh: -------------------------------------------------------------------------------- 1 | LD_LIBRARY_PATH=lib sydr -f input/file.pgm -o results-pgm -- ./pnmhistmap input/file.pgm 2 | -------------------------------------------------------------------------------- /pnmhistmap/sydr-ppm.sh: -------------------------------------------------------------------------------- 1 | LD_LIBRARY_PATH=lib sydr -f input/file.ppm -o results-ppm -- ./pnmhistmap input/file.ppm 2 | -------------------------------------------------------------------------------- /re2/input: -------------------------------------------------------------------------------- 1 | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 2 | -------------------------------------------------------------------------------- /re2/re2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/re2/re2 -------------------------------------------------------------------------------- /re2/run.sh: -------------------------------------------------------------------------------- 1 | ./re2 input 2 | -------------------------------------------------------------------------------- /re2/sydr.sh: -------------------------------------------------------------------------------- 1 | sydr -f input -o results -- ./re2 input 2 | -------------------------------------------------------------------------------- /readelf/input/elf_input: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/readelf/input/elf_input -------------------------------------------------------------------------------- /readelf/readelf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/readelf/readelf -------------------------------------------------------------------------------- /readelf/run.sh: -------------------------------------------------------------------------------- 1 | ./readelf -a input/elf_input 2 | -------------------------------------------------------------------------------- /readelf/sydr.sh: -------------------------------------------------------------------------------- 1 | sydr -f input/elf_input -o results -- ./readelf -a input/elf_input 2 | -------------------------------------------------------------------------------- /sqlite3/corruptJ.test: -------------------------------------------------------------------------------- 1 | # 2015-03-30 2 | # 3 | # The author disclaims copyright to this source code. In place of 4 | # a legal notice, here is a blessing: 5 | # 6 | # May you do good and not evil. 7 | # May you find forgiveness for yourself and forgive others. 8 | # May you share freely, never taking more than you give. 9 | # 10 | #*********************************************************************** 11 | # 12 | # Corruption consisting of a database page that thinks it is a child 13 | # of itself. 14 | # 15 | 16 | set testdir [file dirname $argv0] 17 | source $testdir/tester.tcl 18 | set testprefix corruptJ 19 | 20 | if {[permutation]=="mmap"} { 21 | finish_test 22 | return 23 | } 24 | 25 | # This module uses hard-coded offsets which do not work if the reserved_bytes 26 | # value is nonzero. 27 | if {[nonzero_reserved_bytes]} {finish_test; return;} 28 | 29 | database_may_be_corrupt 30 | 31 | # Initialize the database. 32 | # 33 | do_execsql_test 1.1 { 34 | PRAGMA page_size=1024; 35 | PRAGMA auto_vacuum=0; 36 | CREATE TABLE t1(a,b); 37 | WITH RECURSIVE c(i) AS (VALUES(1) UNION ALL SELECT i+1 FROM c WHERE i<10) 38 | INSERT INTO t1(a,b) SELECT i, zeroblob(700) FROM c; 39 | } {} 40 | db close 41 | 42 | # Corrupt the root page of the t1 table such that the left-child pointer 43 | # for the very first cell points back to the root. Then try to DROP the 44 | # table. The clearDatabasePage() routine should not loop. 45 | # 46 | do_test 1.2 { 47 | hexio_write test.db [expr {2*1024-2}] 02 48 | sqlite3 db test.db 49 | catchsql { DROP TABLE t1 } 50 | } {1 {database disk image is malformed}} 51 | 52 | # Similar test using a WITHOUT ROWID table 53 | # 54 | do_test 2.1 { 55 | db close 56 | forcedelete test.db 57 | sqlite3 db test.db 58 | db eval { 59 | PRAGMA page_size=1024; 60 | PRAGMA auto_vacuum=0; 61 | CREATE TABLE t1(a,b,PRIMARY KEY(a,b)) WITHOUT ROWID; 62 | WITH RECURSIVE c(i) AS (VALUES(1) UNION ALL SELECT i+1 FROM c WHERE i<100) 63 | INSERT INTO t1(a,b) SELECT i, zeroblob(200) FROM c; 64 | } 65 | } {} 66 | 67 | # The table is three levels deep. Corrupt the left child of an intermediate 68 | # page so that it points back to the root page. 69 | # 70 | do_test 2.2 { 71 | db close 72 | hexio_read test.db [expr {9*1024+391}] 8 73 | } {00000008814D0401} 74 | do_test 2.2b { 75 | hexio_write test.db [expr {9*1024+391}] 00000002 76 | sqlite3 db test.db 77 | catchsql { PRAGMA secure_delete=ON; DROP TABLE t1; } 78 | } {1 {database disk image is malformed}} 79 | 80 | finish_test 81 | -------------------------------------------------------------------------------- /sqlite3/input: -------------------------------------------------------------------------------- 1 | # 2015-03-30 2 | # 3 | # The author disclaims copyright to this source code. In place of 4 | # a legal notice, here is a blessing: 5 | # 6 | # May you do good and not evil. 7 | # May you find forgiveness for yourself and forgive others. 8 | # May you share freely, never taking more than you give. 9 | # 10 | #*********************************************************************** 11 | # 12 | # Corruption consisting of a database page that thinks it is a child 13 | # of itself. 14 | # 15 | 16 | set testdir [file dirname $argv0] 17 | source $testdir/tester.tcl 18 | set testprefix corruptJ 19 | 20 | if {[permutation]=="mmap"} { 21 | finish_test 22 | return 23 | } 24 | 25 | # This module uses hard-coded offsets which do not work if the reserved_bytes 26 | # value is nonzero. 27 | if {[nonzero_reserved_bytes]} {finish_test; return;} 28 | 29 | database_may_be_corrupt 30 | 31 | # Initialize the database. 32 | # 33 | do_execsql_test 1.1 { 34 | PRAGMA page_size=1024; 35 | PRAGMA auto_vacuum=0; 36 | CREATE TABLE t1(a,b); 37 | WITH RECURSIVE c(i) AS (VALUES(1) UNION ALL SELECT i+1 FROM c WHERE i<10) 38 | INSERT INTO t1(a,b) SELECT i, zeroblob(700) FROM c; 39 | } {} 40 | db close 41 | 42 | # Corrupt the root page of the t1 table such that the left-child pointer 43 | # for the very first cell points back to the root. Then try to DROP the 44 | # table. The clearDatabasePage() routine should not loop. 45 | # 46 | do_test 1.2 { 47 | hexio_write test.db [expr {2*1024-2}] 02 48 | sqlite3 db test.db 49 | catchsql { DROP TABLE t1 } 50 | } {1 {database disk image is malformed}} 51 | 52 | # Similar test using a WITHOUT ROWID table 53 | # 54 | do_test 2.1 { 55 | db close 56 | forcedelete test.db 57 | sqlite3 db test.db 58 | db eval { 59 | PRAGMA page_size=1024; 60 | PRAGMA auto_vacuum=0; 61 | CREATE TABLE t1(a,b,PRIMARY KEY(a,b)) WITHOUT ROWID; 62 | WITH RECURSIVE c(i) AS (VALUES(1) UNION ALL SELECT i+1 FROM c WHERE i<100) 63 | INSERT INTO t1(a,b) SELECT i, zeroblob(200) FROM c; 64 | } 65 | } {} 66 | 67 | # The table is three levels deep. Corrupt the left child of an intermediate 68 | # page so that it points back to the root page. 69 | # 70 | do_test 2.2 { 71 | db close 72 | hexio_read test.db [expr {9*1024+391}] 8 73 | } {00000008814D0401} 74 | do_test 2.2b { 75 | hexio_write test.db [expr {9*1024+391}] 00000002 76 | sqlite3 db test.db 77 | catchsql { PRAGMA secure_delete=ON; DROP TABLE t1; } 78 | } {1 {database disk image is malformed}} 79 | 80 | finish_test 81 | -------------------------------------------------------------------------------- /sqlite3/run.sh: -------------------------------------------------------------------------------- 1 | ./sqlite3 input 2 | -------------------------------------------------------------------------------- /sqlite3/sqlite3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/sqlite3/sqlite3 -------------------------------------------------------------------------------- /sqlite3/sydr.sh: -------------------------------------------------------------------------------- 1 | sydr -f input -o results -- ./sqlite3 input 2 | -------------------------------------------------------------------------------- /who/input: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/who/input -------------------------------------------------------------------------------- /who/run.sh: -------------------------------------------------------------------------------- 1 | ./who input 2 | -------------------------------------------------------------------------------- /who/sydr.sh: -------------------------------------------------------------------------------- 1 | sydr -f input -o results -- ./who input 2 | -------------------------------------------------------------------------------- /who/who: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/who/who -------------------------------------------------------------------------------- /who/who.i64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/who/who.i64 -------------------------------------------------------------------------------- /who/who_input: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/who/who_input -------------------------------------------------------------------------------- /yices/input/file_smt2: -------------------------------------------------------------------------------- 1 | (set-logic QF_BV) 2 | (declare-fun file_file_text_0 () (_ BitVec 8)) 3 | (define-fun ref!0 () (_ BitVec 8) file_file_text_0) ; Byte reference 4 | (define-fun ref!470 () (_ BitVec 32) (bvsub ((_ zero_extend 24) ref!0) (_ bv4294967295 32))) ; CMP operation 5 | (define-fun ref!476 () (_ BitVec 1) (ite (= ref!470 (_ bv0 32)) (_ bv1 1) (_ bv0 1))) ; Zero flag 6 | (define-fun ref!491 () (_ BitVec 8) ((_ extract 31 24) ((_ zero_extend 24) ref!0))) ; Byte reference - MOV operation 7 | (define-fun ref!492 () (_ BitVec 8) ((_ extract 23 16) ((_ zero_extend 24) ref!0))) ; Byte reference - MOV operation 8 | (define-fun ref!493 () (_ BitVec 8) ((_ extract 15 8) ((_ zero_extend 24) ref!0))) ; Byte reference - MOV operation 9 | (define-fun ref!494 () (_ BitVec 8) ref!0) ; Byte reference - MOV operation 10 | (define-fun ref!497 () (_ BitVec 64) ((_ zero_extend 32) ((_ zero_extend 24) ref!0))) ; MOV operation 11 | (define-fun ref!508 () (_ BitVec 32) (bvsub ((_ zero_extend 24) ref!0) (_ bv59 32))) ; CMP operation 12 | (define-fun ref!514 () (_ BitVec 1) (ite (= ref!508 (_ bv0 32)) (_ bv1 1) (_ bv0 1))) ; Zero flag 13 | (define-fun ref!521 () (_ BitVec 32) (bvsub ((_ extract 31 0) (bvadd (_ bv1 64) ref!497)) (_ bv59 32))) ; CMP operation 14 | (define-fun ref!523 () (_ BitVec 1) ((_ extract 31 31) (bvxor (bvxor ((_ extract 31 0) (bvadd (_ bv1 64) ref!497)) (bvxor (_ bv59 32) ref!521)) (bvand (bvxor ((_ extract 31 0) (bvadd (_ bv1 64) ref!497)) ref!521) (bvxor ((_ extract 31 0) (bvadd (_ bv1 64) ref!497)) (_ bv59 32)))))) ; Carry flag 15 | (define-fun ref!527 () (_ BitVec 1) (ite (= ref!521 (_ bv0 32)) (_ bv1 1) (_ bv0 1))) ; Zero flag 16 | (define-fun ref!567 () (_ BitVec 32) (bvsub (concat ref!491 ref!492 ref!493 ref!494) (_ bv4294967295 32))) ; CMP operation 17 | (define-fun ref!573 () (_ BitVec 1) (ite (= ref!567 (_ bv0 32)) (_ bv1 1) (_ bv0 1))) ; Zero flag 18 | (assert (and (and (and (= ref!573 (_ bv1 1)) (not (= ref!476 (_ bv1 1)))) (not (= ref!514 (_ bv1 1)))) (= (bvand (bvnot ref!523) (bvnot ref!527)) (_ bv1 1)))) 19 | (check-sat) 20 | -------------------------------------------------------------------------------- /yices/lib/libgmp.so.10: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/yices/lib/libgmp.so.10 -------------------------------------------------------------------------------- /yices/lib/libgmp.so.10.3.2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/yices/lib/libgmp.so.10.3.2 -------------------------------------------------------------------------------- /yices/lib/libpoly.so.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/yices/lib/libpoly.so.0 -------------------------------------------------------------------------------- /yices/lib/libpoly.so.0.1.8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/yices/lib/libpoly.so.0.1.8 -------------------------------------------------------------------------------- /yices/run.sh: -------------------------------------------------------------------------------- 1 | LD_LIBRARY_PATH=lib ./yices-smt2 input/file_smt2 2 | -------------------------------------------------------------------------------- /yices/sydr.sh: -------------------------------------------------------------------------------- 1 | LD_LIBRARY_PATH=lib sydr -f input/file_smt2 -o results -- ./yices-smt2 input/file_smt2 2 | -------------------------------------------------------------------------------- /yices/yices-smt2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/yices/yices-smt2 -------------------------------------------------------------------------------- /yodl/input/file_yodl: -------------------------------------------------------------------------------- 1 | chapter(Using the yodl program) 2 | 3 | The tt(yodl) program is reads one or more input files, interprets the commands 4 | therein, and writes one output file. The program is started as: 5 | 6 | center( 7 | tt(yodl) em(flags) em(inputfile) em([inputfile...]) 8 | ) 9 | 10 | itemize( 11 | it() 123 12 | 13 | it() 456 14 | ) 15 | -------------------------------------------------------------------------------- /yodl/run.sh: -------------------------------------------------------------------------------- 1 | ./yodl input/file_yodl 2 | -------------------------------------------------------------------------------- /yodl/sydr.sh: -------------------------------------------------------------------------------- 1 | sydr -f input/file_yodl -o results -- ./yodl input/file_yodl 2 | -------------------------------------------------------------------------------- /yodl/yodl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ispras/sydr-benchmark/58512537a6efba601019a67e9f4ca7d024b5d7b4/yodl/yodl --------------------------------------------------------------------------------