Commit Graph

42 Commits

Author SHA1 Message Date
Riccardo Schirone 776732d017 program-model: use module scoped CodeQuery (#665)
* program-model: use module scoped CodeQuery

* fix also sqlite tests

* fix antlr4 test

* wip

* Fix macros test

* appease linting gods

* Fix cleanup routine

---------

Co-authored-by: Henrik Brodin <90325907+hbrodin@users.noreply.github.com>
Co-authored-by: Evan Downing <2077950+evandowning@users.noreply.github.com>
Co-authored-by: Michael D. Brown <michael.brown@trailofbits.com>
2025-05-21 16:40:55 -04:00
Evan Downing 36eee39bc6 Add commons-compress (#647)
Co-authored-by: Michael D Brown <michael.brown@trailofbits.com>
2025-05-20 14:28:49 -04:00
Evan Downing a23452d473 Add freerdp (#643)
* Add freerdp

* linter fix after merge

---------

Co-authored-by: Michael D Brown <michael.brown@trailofbits.com>
2025-05-20 14:17:53 -04:00
Evan Downing aed41348ce Add dropbear (#645) 2025-05-20 10:26:24 -04:00
Evan Downing 0f02c16c2c Add sqlite (#644) 2025-05-20 10:25:53 -04:00
Evan Downing 9537e58ae6 Add libpng from unscored-2 (#641) 2025-05-20 06:50:23 -04:00
Evan Downing 2d32b44c51 Update libxml2 after unscored-2 (#639) 2025-05-19 21:21:08 -04:00
Boyan MILANOV bef12fa3f5 Program model: Java type resolution (#613)
* Add basic get_type case

* Add support for dotted expression

* Add tests for method return type resolution

* Add more callees tests

* Lint and format

* Remove residual debug prints

* Commit tree_sitter file too

* Fix test issues from merging main

---------

Co-authored-by: Boyan MILANOV <boyanmilanov@coder-boyanmilanov-aixcc-boyan.c.production-1-405717.internal>
2025-05-19 16:07:34 -04:00
Evan Downing 7c71f0f11e Add additional tests for each existing challenge (#620) 2025-05-19 13:16:57 -04:00
Evan Downing 9c2efa307f Modify get_caller/get_callee arguments (#546)
* Modify get_caller/get_callee arguments

* Fix file_path filter

* Fix caller/callee checking

* Optimize get_caller/get_callee (#605)

* Uncomment log4j tests

* Move all logging to DEBUG

* Fix caller/callee logic
2025-05-14 13:01:20 -04:00
Evan Downing 99faaca54c Fix macro function bodies (#596) 2025-05-14 09:17:35 -04:00
Henrik Brodin 75f159b04a Henrik/indexer expiry check (#590)
* Check expiry before indexing
2025-05-13 11:17:21 +02:00
Evan Downing a42d6083ac Add macro support (#503)
* Add macro tests

* Modify tree-sitter to ifdef lines

* Create no_preproc function

---------

Co-authored-by: Michael D Brown <michael.brown@trailofbits.com>
2025-05-09 20:56:39 -04:00
Evan Downing 5c1b2486fc Move challenge fixtures to conftest. (#569) 2025-05-09 16:14:06 -04:00
Evan Downing dd7c9c21e7 Locate functions in java stacktrace (#460)
* Uncomment skipped tests

* Codequery was already working for bouncycastle.

* Add support for copying src after build
2025-05-01 13:12:44 -04:00
Boyan MILANOV f55466101f Callee deduplication for C and Java (#495)
* Add basic imports resolver

* Fixes and more tests

* Doc

* Enable C callee dedup in codequery

* Add two libxml2 tests

* Add test to log4j

* Add java callee dedup

* Use container src dir, fix zookeeper tests

* Add test workaround for log4j2

* Lint

---------

Co-authored-by: Boyan MILANOV <boyanmilanov@coder-boyanmilanov-aixcc-boyan.c.production-1-405717.internal>
2025-04-30 14:54:39 +03:00
Evan Downing b1a1c19d99 Modify fuzzy search (#484) 2025-04-29 15:37:25 -04:00
Michael D Brown 83fe3eb8b9 Add CRS Action telemetry (#462)
Adds telemetry for all services including required and some extra attributes.
2025-04-29 14:48:37 -04:00
Evan Downing 2f4fabf792 Add more robust fuzzy search (#464)
* Add regression test for fuzzy search

* Add more robust fuzzy matching logic
2025-04-25 15:51:16 -04:00
Evan Downing ef323e20e9 Remove logger calls. Redirect subprocess run outputs (#458) 2025-04-25 07:49:57 -04:00
Evan Downing 93f55a274b Add support for inner classes (#443)
* Change cscope call to compress database and improve lookup speed. Update tests.

* Fix log4j2 source paths

* Add private version of cscope
2025-04-25 07:37:39 -04:00
Evan Downing 73381dbe0e Add support for log4j2 (#406) 2025-04-17 16:28:10 -04:00
Evan Downing a038b48330 Add support for bouncy castle (#405) 2025-04-17 16:13:16 -04:00
Evan Downing bf45c6ac44 Adding regression tests for graphql (#403) 2025-04-17 16:08:42 -04:00
Evan Downing 184df8b506 Add regression tests for checkstyle (#404) 2025-04-17 15:46:45 -04:00
Evan Downing d975edf0a9 Add support for commons-codec (#390)
* Add support for commons-codec

* Uncomment passing test

* Move common file. Modify zookeeper and commons_codec tests.
2025-04-17 15:33:22 -04:00
Boyan MILANOV d2bf90e974 [Program-model] C tests for HDF5 (#407)
* Refactor get_functions test

* Add some tests

* Callees tests

* Add type defs test

* Remove residual debug code

* Fix tests

* Fix workflow file

* Fix workflow file again

* Add file_path tests for type defs, implement path rebasing for type defs in codequery

* Fix fixtures in pytest

* Fix module scoped fixtures in tests

---------

Co-authored-by: Boyan MILANOV <boyanmilanov@coder-boyanmilanov-aixcc-boyan.c.production-1-405717.internal>
2025-04-17 19:37:43 +03:00
Riccardo Schirone 2475b8e507 Move to use in-container paths (e.g. /src/) (#395)
* disable kythe/graphdb in tests
* fix integration CI
2025-04-16 11:05:44 +02:00
Boyan MILANOV d68c7d6a96 Fixes in CodeQuery and TreeSitter APIs with tests (#399)
* Add callees tests

* Add more tests for finding types

* Remove debug statements
2025-04-16 10:34:32 +02:00
Boyan MILANOV 319236d88b Fix code query search (#396)
Co-authored-by: Boyan MILANOV <boyanmilanov@coder-boyanmilanov-aixcc-boyan.c.production-1-405717.internal>
2025-04-15 08:38:53 +03:00
Evan Downing a754c94c82 Add new regression tests for c/java (#378)
* Add zookeeper test file

* Update java function query.

* Add caller/callee queries

* Add example test for C with fixture

* Refactor challenge task creation in tests

---------

Co-authored-by: Boyan MILANOV <boyanmilanov@coder-boyanmilanov-aixcc-boyan.c.production-1-405717.internal>
2025-04-10 10:09:35 +03:00
Evan Downing 6129f37c1b Add tests for java challenges (#285) 2025-03-27 14:53:10 -04:00
Evan Downing 5d60b606b7 Add retrieving types in codequery (#260)
* Add retrieving types in codequery

* Add fuzzy search option (#271)
2025-03-27 08:23:01 -04:00
Evan Downing c47f27debe Speedup graphdb (#193)
* Add bulk loading and update schema

* Remove unnecessary config options for speedup

* Uncomment unit test. Update integration test.

* Fix permission issue with removing temp folder

* Update file paths

* Changing graphdb directory

* Update integration config
2025-03-25 09:38:47 -04:00
Evan Downing 4a6c4baf07 Retrieve types using codequery (#201)
* Add retrieving types from treesitter

* Update preprocessor types. Update fuzz-tooling directory layout
2025-03-13 09:31:12 -04:00
Riccardo Schirone b44c21dd6e program-model: fix task-id property and improve tests (#174)
* program-model: fix task-id property and improve tests

* Skipping libpng integration test until kythe is ready

---------

Co-authored-by: Evan Downing <2077950+evandowning@users.noreply.github.com>
2025-03-12 15:20:39 -04:00
Riccardo Schirone e0b898a6b4 program-model: introduce codequery (#178)
* program-model/tree-sitter: refactor classes

* program-model/tree-sitter: change how paths are considered

This allows to parse also code in oss-fuzz (e.g. injected fuzz targets
not in upstream project)

* common: change name format for challenge commit

* program-model/codequery: make it persistent and nice

* program-model: disable janus & co for now

* patcher: make use of codequery instead of just tree-sitter

* program-model: add integration tests for codequery

* program-model/codequery: add support for different languages

* patcher: install codequery in patcher's container

* ci: fix codequery install

* program-model: ensure cqdb storage in /crs_scratch

* program-model: ensure the cqdb storage is available only at the end
2025-03-10 14:11:07 +01:00
Evan Downing 0bfdfa2d7d Add get_function_body unit test (#96)
* Add get_function_body unit test

* Test passes

* Add janusgraph service

* Update tests with healthcheck
2025-03-04 08:09:25 -05:00
Henrik Brodin 65dd397115 Store task-id in task-meta file (#123)
Store task-id in task-meta file
2025-03-04 13:00:13 +01:00
Riccardo Schirone 2d852a0881 program-model: add tree-sitter parsing for fallbacks (#90) 2025-02-24 09:58:21 +01:00
Riccardo Schirone 9885795582 program-model: add empty test to make pytest happy 2025-02-05 10:23:56 +01:00
2over12 c26a3e223d Add program model demo (#17)
* add program model uv

* add tool to common

* remove oss fuzz tool

* add docker

* implement build base image

* fix ret check

* add builder for subimage

* remove old tool

* hack to avoid dupped kzip files

* fixes... need to work out LD hack

* fix find

* justfile for building kythe

* update dockerfile

* add upload tool

* update protobuf

* move into compose

* fix merge invocation

* fix up invoc

* bump kythe

* reformat

* format

* format

* remove unused

* add lint and change version

* fixes

* exclude

* fix formatting:

* dev deps

* add dep

* exclude gen

* fix
2025-01-26 13:09:37 -05:00