An open-source C++ library developed and used at Facebook.
This report presents the forensic synthetic code analysis of facebook/folly, a C++ project with 30,461 GitHub stars. SynthScan v2.0 examined 727,879 lines of code across 2536 source files, recording 1861 pattern matches distributed across 18 syntactic categories. The overall adjusted score of 2.9 places this repository in the Likely human-written band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 1861 distinct pattern matches across 18 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | CMakeListsForBuck2.txt | 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. | COMMENT |
| LOW | CMakeLists.txt | 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. | COMMENT |
| LOW | build.sh | 1 | #!/bin/bash | COMMENT |
| LOW | .github/scripts/buck_build_and_test.sh | 1 | #!/bin/bash | COMMENT |
| LOW | folly/Demangle.cpp | 21 | COMMENT | |
| LOW | folly/Format-inl.h | 21 | #include <array> | COMMENT |
| LOW | folly/ConstructorCallbackList.h | 21 | #include <memory> | COMMENT |
| LOW | folly/ConstructorCallbackList.h | 41 | // ... | COMMENT |
| LOW | folly/ConstructorCallbackList.h | 61 | // Per the example above, | COMMENT |
| LOW | folly/ConcurrentSkipList.h | 121 | #include <atomic> | COMMENT |
| LOW | folly/ConcurrentSkipList.h | 621 | } | COMMENT |
| LOW | folly/ExceptionWrapper.h | 21 | #include <exception> | COMMENT |
| LOW | folly/ExceptionWrapper.h | 41 | COMMENT | |
| LOW | folly/ExceptionWrapper.h | 61 | //! | COMMENT |
| LOW | folly/ExceptionWrapper.h | 81 | //! LOG(ERROR) << "FAILWHALE!"; | COMMENT |
| LOW | folly/ExceptionWrapper.h | 141 | //! \post `*this` contains a copy of `that`, and `that` is unmodified | COMMENT |
| LOW | folly/ExceptionWrapper.h | 201 | void reset(); | COMMENT |
| LOW | folly/ExceptionWrapper.h | 261 | COMMENT | |
| LOW | folly/ExceptionWrapper.h | 281 | //! assert( ew.with_exception([](std::runtime_error& e){/*...*/}) ); | COMMENT |
| LOW | folly/ExceptionWrapper.h | 301 | //! `throw e;`.) | COMMENT |
| LOW | folly/ExceptionWrapper.h | 321 | //! [&](std::exception const& e) { | COMMENT |
| LOW | folly/ObserverContainer.h | 1021 | COMMENT | |
| LOW | folly/Singleton.cpp | 21 | #include <signal.h> | COMMENT |
| LOW | folly/Range.h | 41 | #include <folly/lang/Exception.h> | COMMENT |
| LOW | folly/Range.h | 641 | // T constructor that takes a type U that is implicitly convertible | COMMENT |
| LOW | folly/Traits.h | 21 | #include <functional> | COMMENT |
| LOW | folly/Traits.h | 101 | constexpr auto operator""_uzic() noexcept { | COMMENT |
| LOW | folly/Traits.h | 121 | /// else static_assert(always_false<T>, "Unsupported type"); | COMMENT |
| LOW | folly/Traits.h | 161 | } // namespace detail | COMMENT |
| LOW | folly/Traits.h | 201 | /// is_bounded_array_v | COMMENT |
| LOW | folly/Traits.h | 381 | /// | COMMENT |
| LOW | folly/Traits.h | 421 | /// like | COMMENT |
| LOW | folly/Traits.h | 581 | COMMENT | |
| LOW | folly/Traits.h | 601 | /// | COMMENT |
| LOW | folly/Traits.h | 681 | // is_nothrow_convertible | COMMENT |
| LOW | folly/Traits.h | 1121 | : std::bool_constant<is_non_bool_integral_v<Int>> {}; | COMMENT |
| LOW | folly/CppAttributes.h | 21 | #pragma once | COMMENT |
| LOW | folly/CppAttributes.h | 81 | * call-sites. | COMMENT |
| LOW | folly/CppAttributes.h | 121 | #elif FOLLY_HAS_CPP_ATTRIBUTE(msvc::no_unique_address) | COMMENT |
| LOW | folly/CppAttributes.h | 141 | * type-based alias analysis, but are instead assumed to be able to alias any | COMMENT |
| LOW | folly/CppAttributes.h | 161 | COMMENT | |
| LOW | folly/CppAttributes.h | 181 | #define FOLLY_ATTR_GNU_NOCLONE gnu::noclone | COMMENT |
| LOW | folly/CppAttributes.h | 201 | #define FOLLY_ATTR_CLANG_CORO_AWAIT_ELIDABLE | COMMENT |
| LOW | folly/SocketAddress.h | 21 | #include <cstddef> | COMMENT |
| LOW | folly/CMakeLists.txt | 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. | COMMENT |
| LOW | folly/Format.cpp | 181 | COMMENT | |
| LOW | folly/IPAddress.h | 21 | * | COMMENT |
| LOW | folly/base64.h | 21 | #include <string> | COMMENT |
| LOW | folly/base64.h | 41 | // (padding symbols are required on decoding) | COMMENT |
| LOW | folly/base64.h | 61 | struct base64_decode_error; | COMMENT |
| LOW | folly/ScopeGuard.h | 301 | ScopeGuardImpl<std::decay_t<FunctionType>, true> operator+( | COMMENT |
| LOW | folly/ScopeGuard.h | 321 | // throw 0; // the cleanup happens at end of the scope | COMMENT |
| LOW | folly/ScopeGuard.h | 361 | // SCOPE_FAIL | COMMENT |
| LOW | folly/ScopeGuard.h | 381 | * | COMMENT |
| LOW | folly/ConcurrentBSkipList.h | 21 | // key capacity; P is the promotion denominator (see topLevelForKey). | COMMENT |
| LOW | folly/ConcurrentBSkipList.h | 41 | #include <atomic> | COMMENT |
| LOW | folly/Singleton.h | 21 | /// Recommended usage of this class: suppose you have a class | COMMENT |
| LOW | folly/Singleton.h | 41 | /// } | COMMENT |
| LOW | folly/Singleton.h | 61 | /// | COMMENT |
| LOW | folly/Singleton.h | 81 | /// deleted via delete, but this is configurable: | COMMENT |
| 1567 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | folly/python/test/iobuf.py | 363 | self.assertEqual(xb.length(), 0) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 372 | self.assertEqual(xb.length(), 15) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 409 | self.assertEqual(xb.length(), 0) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 412 | self.assertEqual(xb.length(), 16) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 416 | self.assertEqual(xb.length(), 0) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 426 | self.assertEqual(xb.length(), 0) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 436 | self.assertEqual(xb.length(), 0) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 440 | self.assertEqual(xb.length(), 16) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 444 | self.assertEqual(xb.length(), 0) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 455 | self.assertEqual(xb.length(), 0) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 458 | self.assertEqual(xb.length(), 5) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 460 | self.assertEqual(xb.length(), 0) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 471 | self.assertEqual(xb.length(), 16) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 475 | self.assertEqual(xb.length(), 10) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 478 | self.assertEqual(xb.length(), 4) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 482 | self.assertEqual(xb.length(), 0) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 485 | self.assertEqual(xb.length(), 5) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 494 | self.assertEqual(xb.length(), 0) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 497 | self.assertEqual(xb.length(), 5) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 500 | self.assertEqual(xb.length(), 0) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 504 | self.assertEqual(xb.length(), 0) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 507 | self.assertEqual(xb.length(), 5) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 517 | self.assertEqual(xb.length(), 0) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 528 | self.assertEqual(xb.length(), 0) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 531 | self.assertEqual(xb.length(), 5) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 533 | self.assertEqual(xb.length(), 0) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 544 | self.assertEqual(xb.length(), 16) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 548 | self.assertEqual(xb.length(), 10) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 551 | self.assertEqual(xb.length(), 4) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 555 | self.assertEqual(xb.length(), 0) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 558 | self.assertEqual(xb.length(), 5) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 567 | self.assertEqual(xb.length(), 0) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 570 | self.assertEqual(xb.length(), 5) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 573 | self.assertEqual(xb.length(), 0) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 577 | self.assertEqual(xb.length(), 0) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 580 | self.assertEqual(xb.length(), 5) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 590 | self.assertEqual(xb.length(), 0) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 601 | self.assertEqual(xb.length(), 0) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 604 | self.assertEqual(xb.length(), 5) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 606 | self.assertEqual(xb.length(), 0) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 608 | self.assertEqual(xb.length(), 5) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 619 | self.assertEqual(xb.length(), 16) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 623 | self.assertEqual(xb.length(), 10) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 626 | self.assertEqual(xb.length(), 16) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 630 | self.assertEqual(xb.length(), 0) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 633 | self.assertEqual(xb.length(), 5) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 635 | self.assertEqual(xb.length(), 0) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 644 | self.assertEqual(xb.length(), 0) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 647 | self.assertEqual(xb.length(), 5) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 649 | self.assertEqual(xb.length(), 0) | CODE |
| HIGH⚡ | folly/python/test/iobuf.py | 659 | self.assertEqual(xb.length(), 0) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | folly/python/test/test_iobuf_ext.py | 27 | def test_iobuf_should_not_hang_when_outliving_asyncio_loop(self) -> None: | CODE |
| LOW | folly/python/test/test_iobuf_ext.py | 60 | def test_copy_from_buffer_bytes(self) -> None: | CODE |
| LOW | folly/python/test/test_iobuf_ext.py | 74 | def test_copy_from_buffer_bytearray(self) -> None: | CODE |
| LOW | folly/python/test/test_iobuf_ext.py | 87 | def test_copy_from_buffer_memoryview(self) -> None: | CODE |
| LOW | folly/python/test/test_iobuf_ext.py | 96 | def test_copy_from_buffer_does_not_pin_source_object(self) -> None: | CODE |
| LOW | folly/python/test/teardown.py | 41 | def test_fiber_manager_tear_down(self) -> None: | CODE |
| LOW | folly/python/test/coro.py | 36 | async def _return_five_after_cancelled(self) -> int: | CODE |
| LOW | folly/python/test/coro.py | 88 | def test_executor_stats_blocking(self) -> None: | CODE |
| LOW | folly/python/test/test_set_executor.py | 28 | def test_cannot_override_existing_loop(self): | CODE |
| LOW | folly/python/test/request_context.py | 88 | async def test_multiple_ctx_copies_memory_leak(self) -> None: | CODE |
| LOW | folly/python/test/generator.py | 38 | def test_iter_generator_empty(self) -> None: | CODE |
| LOW | folly/python/test/generator.py | 53 | def test_iter_generator_error(self) -> None: | CODE |
| LOW⚡ | folly/python/test/iobuf.py | 355 | def test_buffer_creation_with_size_write(self) -> None: | CODE |
| LOW⚡ | folly/python/test/iobuf.py | 375 | def test_buffer_creation_with_size_write_fail(self) -> None: | CODE |
| LOW⚡ | folly/python/test/iobuf.py | 407 | def test_buffer_creation_with_size_append(self) -> None: | CODE |
| LOW⚡ | folly/python/test/iobuf.py | 414 | def test_buffer_creation_with_size_append_fail(self) -> None: | CODE |
| LOW⚡ | folly/python/test/iobuf.py | 424 | def test_buffer_creation_with_size_append_fail_negative(self) -> None: | CODE |
| LOW⚡ | folly/python/test/iobuf.py | 434 | def test_buffer_creation_with_size_multiple_append(self) -> None: | CODE |
| LOW⚡ | folly/python/test/iobuf.py | 442 | def test_buffer_creation_with_size_multiple_append_fail(self) -> None: | CODE |
| LOW⚡ | folly/python/test/iobuf.py | 453 | def test_buffer_creation_with_size_trim_start(self) -> None: | CODE |
| LOW⚡ | folly/python/test/iobuf.py | 462 | def test_buffer_creation_with_size_write_trim_start(self) -> None: | CODE |
| LOW⚡ | folly/python/test/iobuf.py | 480 | def test_buffer_creation_with_size_trim_start_fail(self) -> None: | CODE |
| LOW⚡ | folly/python/test/iobuf.py | 492 | def test_buffer_creation_with_size_trim_start_multiple(self) -> None: | CODE |
| LOW⚡ | folly/python/test/iobuf.py | 502 | def test_buffer_creation_with_size_trim_start_fail_multiple(self) -> None: | CODE |
| LOW⚡ | folly/python/test/iobuf.py | 515 | def test_buffer_creation_with_size_trim_start_fail_negative(self) -> None: | CODE |
| LOW⚡ | folly/python/test/iobuf.py | 526 | def test_buffer_creation_with_size_trim_end(self) -> None: | CODE |
| LOW⚡ | folly/python/test/iobuf.py | 535 | def test_buffer_creation_with_size_write_trim_end(self) -> None: | CODE |
| LOW⚡ | folly/python/test/iobuf.py | 553 | def test_buffer_creation_with_size_trim_end_fail(self) -> None: | CODE |
| LOW⚡ | folly/python/test/iobuf.py | 565 | def test_buffer_creation_with_size_trim_end_multiple(self) -> None: | CODE |
| LOW⚡ | folly/python/test/iobuf.py | 575 | def test_buffer_creation_with_size_trim_end_fail_multiple(self) -> None: | CODE |
| LOW⚡ | folly/python/test/iobuf.py | 588 | def test_buffer_creation_with_size_trim_end_fail_negative(self) -> None: | CODE |
| LOW⚡ | folly/python/test/iobuf.py | 599 | def test_buffer_creation_with_size_prepend(self) -> None: | CODE |
| LOW⚡ | folly/python/test/iobuf.py | 610 | def test_buffer_creation_with_size_write_prepend(self) -> None: | CODE |
| LOW⚡ | folly/python/test/iobuf.py | 628 | def test_buffer_creation_with_size_prepend_fail(self) -> None: | CODE |
| LOW⚡ | folly/python/test/iobuf.py | 642 | def test_buffer_creation_with_size_prepend_fail_multiple(self) -> None: | CODE |
| LOW⚡ | folly/python/test/iobuf.py | 657 | def test_buffer_creation_with_size_prepend_fail_negative(self) -> None: | CODE |
| LOW | folly/python/test/iobuf.py | 124 | def test_conversion_from_python_to_cpp(self) -> None: | CODE |
| LOW | folly/python/test/iobuf.py | 135 | def test_conversion_from_python_to_cpp_with_wrong_type(self) -> None: | CODE |
| LOW | folly/python/test/iobuf.py | 202 | def test_buffer_update_in_place(self) -> None: | CODE |
| LOW | folly/python/test/iobuf.py | 208 | def test_buffer_write_out_of_bounds(self) -> None: | CODE |
| LOW | folly/python/test/iobuf.py | 225 | def test_buffer_read_out_of_bounds(self) -> None: | CODE |
| LOW | folly/python/test/iobuf.py | 240 | def test_buffer_write_empty_pieces(self) -> None: | CODE |
| LOW | folly/python/test/iobuf.py | 266 | def test_empty_writable_chain(self) -> None: | CODE |
| LOW | folly/python/test/iobuf.py | 276 | def test_appendable_writable_chain(self) -> None: | CODE |
| LOW | folly/python/test/iobuf.py | 291 | def test_appendable_writable_chain_overwrite(self) -> None: | CODE |
| LOW | folly/python/test/iobuf.py | 317 | def test_appendable_writable_chain_coalesce(self) -> None: | CODE |
| LOW | folly/python/test/iobuf.py | 335 | def test_appendable_writable_chain_coalesce_exception(self) -> None: | CODE |
| LOW | folly/python/test/iobuf.py | 391 | def test_buffer_creation_with_size_read_fail(self) -> None: | CODE |
| LOW | folly/fibers/scripts/gdb.py | 834 | def fiber_manager_active_fibers(fm): | CODE |
| LOW | folly/fibers/scripts/gdb.py | 888 | def get_fiber_manager_map_evb(): | CODE |
| LOW | folly/fibers/scripts/gdb.py | 892 | def get_fiber_manager_map_vevb(): | CODE |
| LOW | folly/docs/Synchronized.md | 18 | class RequestHandler { | CODE |
| LOW | folly/docs/Synchronized.md | 64 | class RequestHandler { | CODE |
| LOW | folly/json/test/tests/test_float_format_python_json.py | 61 | def test_integer_valued_doubles(self) -> None: | CODE |
| LOW | folly/json/test/tests/test_float_format_python_json.py | 64 | def test_scientific_integer_mantissa(self) -> None: | CODE |
| LOW | folly/json/test/tests/test_float_format_python_json.py | 80 | def test_integer_valued_doubles(self) -> None: | CODE |
| LOW | folly/json/test/tests/test_float_format_python_json.py | 85 | def test_scientific_integer_mantissa(self) -> None: | CODE |
| LOW | folly/json/test/tests/test_float_format_python_json.py | 104 | def test_scientific_integer_mantissa(self) -> None: | CODE |
| LOW⚡ | folly/json/test/tests/test_float_format_python_json.py | 116 | def test_scientific_integer_mantissa(self) -> None: | CODE |
| LOW⚡ | folly/json/test/tests/test_float_format_python_json.py | 119 | def test_integer_valued_doubles(self) -> None: | CODE |
| 12 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | folly/String.cpp | 550 | // Step 1: Clear the high order bit. We'll deal with it in Step 5. | COMMENT |
| LOW⚡ | folly/String.cpp | 557 | // Step 2: Add 0x25 (37) | COMMENT |
| LOW⚡ | folly/String.cpp | 564 | // Step 3: clear the high order bit | COMMENT |
| LOW⚡ | folly/String.cpp | 570 | // Step 4: Add 0x1a (26) | COMMENT |
| LOW⚡ | folly/String.cpp | 579 | // Step 5: Shift the high order bit 2 spaces to the right: the spot | COMMENT |
| LOW⚡ | folly/String.cpp | 590 | // Step 6: Apply a mask to clear everything except the 0x20 bit | COMMENT |
| LOW⚡ | folly/String.cpp | 596 | // Step 7: Add rotated to c | COMMENT |
| LOW⚡ | folly/IPAddressV6.cpp | 163 | // Step 1: first 8 bytes are network prefix, and can be stripped | COMMENT |
| LOW⚡ | folly/IPAddressV6.cpp | 164 | // Step 2: invert the universal/local (U/L) flag (bit 7) | COMMENT |
| LOW⚡ | folly/IPAddressV6.cpp | 166 | // Step 3: copy these bytes as they are | COMMENT |
| LOW⚡ | folly/IPAddressV6.cpp | 169 | // Step 4: strip bytes (0xfffe), which are bytes_[11] and bytes_[12] | COMMENT |
| LOW⚡ | folly/IPAddressV6.cpp | 170 | // Step 5: copy the rest. | COMMENT |
| LOW⚡ | folly/test/ConcurrentBSkipListTest.cpp | 1737 | // Step 1: skipTo(100) → should return 500 (first non-deleted key >= 100) | COMMENT |
| LOW⚡ | folly/test/ConcurrentBSkipListTest.cpp | 1745 | // Step 2: skipTo(200) — target < lastResult. Folly returns 500 (stays put). | COMMENT |
| LOW⚡ | folly/test/ConcurrentBSkipListTest.cpp | 1754 | // Step 3: skipTo(300) — still < 500. Same. | COMMENT |
| LOW⚡ | folly/test/ConcurrentBSkipListTest.cpp | 1762 | // Step 4: skipTo(600) — past the jump, normal forward | COMMENT |
| LOW | folly/algorithm/simd/test/MovemaskTest.cpp | 119 | // Step 1: | COMMENT |
| LOW | folly/algorithm/simd/test/MovemaskTest.cpp | 128 | // Step 2: | COMMENT |
| LOW | folly/compression/Compression.cpp | 1872 | // Step 1: | COMMENT |
| LOW | folly/compression/Compression.cpp | 1891 | // Step 2: | COMMENT |
| LOW | folly/stats/BucketedTimeSeries-inl.h | 123 | // An earlier time in the past. We need to check if this time still falls | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | folly/SharedMutex.h | 1612 | // std::shared_lock specialization for folly::SharedMutex to leverage tokenful | COMMENT |
| MEDIUM | folly/MPMCQueue.h | 66 | /// which is more robust to contention than a CAS loop. Each of the | COMMENT |
| MEDIUM | folly/result/rich_error_base.h | 309 | /// writing rich errors to glog & `std` streams. This ought to be more robust | COMMENT |
| MEDIUM | folly/memory/Malloc.cpp | 81 | // Absolutely wild, but this apparently needs to be cached within this TU. | COMMENT |
| MEDIUM | folly/memory/Malloc.cpp | 118 | // Absolutely wild, but this apparently needs to be cached within this TU. | COMMENT |
| MEDIUM | folly/hash/detail/RandomSeed.h | 30 | // leverage ASLR (Address Space Layout Randomization) [2] to get a per-run | COMMENT |
| MEDIUM | folly/fibers/scripts/gdb.py | 251 | # than the stack of the currently selected frame. Essentially, we take | COMMENT |
| LOW⚡ | folly/fibers/scripts/gdb.py | 613 | # for a cached fiber will just return the same cached FiberInfo. | COMMENT |
| LOW | folly/fibers/scripts/gdb.py | 792 | # almost always 0 (used for frozen options). We'll ignore it and just use | COMMENT |
| MEDIUM | folly/lang/MustUseImmediately.h | 32 | // Essentially, this is a public analog of `folly::detail`. If you use it, | COMMENT |
| MEDIUM | folly/lang/SafeAlias-fwd.h | 47 | // Definitely has aliasing, we know nothing of the lifetime. | COMMENT |
| MEDIUM | folly/detail/RangeSse42.cpp | 23 | // Essentially, two versions of this file: one with an SSE42 implementation | COMMENT |
| MEDIUM | folly/coro/safe/SafeTask.h | 134 | // Design note: Fundamentally, the reason that we have `member_task`, and | COMMENT |
| MEDIUM | folly/coro/safe/test/NowTaskTest.cpp | 74 | // expected call-path-to-awaiter. This is pretty robust, so long as I check | COMMENT |
| MEDIUM | …/coro/safe/detail/DefineMovableDeepConstLrefCopyable.h | 68 | // non-copyable, instead of the more nuanced behavior we need. To | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | folly/String.cpp | 550 | // Step 1: Clear the high order bit. We'll deal with it in Step 5. | COMMENT |
| LOW⚡ | folly/String.cpp | 557 | // Step 2: Add 0x25 (37) | COMMENT |
| LOW⚡ | folly/String.cpp | 564 | // Step 3: clear the high order bit | COMMENT |
| LOW⚡ | folly/String.cpp | 570 | // Step 4: Add 0x1a (26) | COMMENT |
| LOW⚡ | folly/String.cpp | 579 | // Step 5: Shift the high order bit 2 spaces to the right: the spot | COMMENT |
| LOW⚡ | folly/String.cpp | 590 | // Step 6: Apply a mask to clear everything except the 0x20 bit | COMMENT |
| LOW⚡ | folly/String.cpp | 596 | // Step 7: Add rotated to c | COMMENT |
| LOW⚡ | folly/IPAddressV6.cpp | 163 | // Step 1: first 8 bytes are network prefix, and can be stripped | COMMENT |
| LOW⚡ | folly/IPAddressV6.cpp | 164 | // Step 2: invert the universal/local (U/L) flag (bit 7) | COMMENT |
| LOW⚡ | folly/IPAddressV6.cpp | 166 | // Step 3: copy these bytes as they are | COMMENT |
| LOW⚡ | folly/IPAddressV6.cpp | 169 | // Step 4: strip bytes (0xfffe), which are bytes_[11] and bytes_[12] | COMMENT |
| LOW⚡ | folly/IPAddressV6.cpp | 170 | // Step 5: copy the rest. | COMMENT |
| LOW | folly/futures/Future.h | 2305 | /// NOTE: This function is deprecated. Please use makeSemiFuture and pass the | COMMENT |
| LOW⚡ | folly/test/ConcurrentBSkipListTest.cpp | 1737 | // Step 1: skipTo(100) → should return 500 (first non-deleted key >= 100) | COMMENT |
| LOW⚡ | folly/test/ConcurrentBSkipListTest.cpp | 1745 | // Step 2: skipTo(200) — target < lastResult. Folly returns 500 (stays put). | COMMENT |
| LOW⚡ | folly/test/ConcurrentBSkipListTest.cpp | 1754 | // Step 3: skipTo(300) — still < 500. Same. | COMMENT |
| LOW⚡ | folly/test/ConcurrentBSkipListTest.cpp | 1762 | // Step 4: skipTo(600) — past the jump, normal forward | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | folly/test/AsciiCaseInsensitiveBenchmark.cpp | 27 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam" | CODE |
| LOW⚡ | folly/test/AsciiCaseInsensitiveBenchmark.cpp | 27 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam" | CODE |
| LOW⚡ | folly/test/AsciiCaseInsensitiveBenchmark.cpp | 33 | "tortor. Lorem ipsum dolor sit amet, consectetur adipiscing" | CODE |
| LOW⚡ | folly/test/AsciiCaseInsensitiveBenchmark.cpp | 33 | "tortor. Lorem ipsum dolor sit amet, consectetur adipiscing" | CODE |
| LOW | folly/test/AsciiCaseInsensitiveBenchmark.cpp | 63 | "tincidunt. Phasellus eget dolor sit amet ipsum dapibus condimentum" | CODE |
| LOW⚡ | folly/test/ConvTest.cpp | 474 | toAppend("Lorem ipsum ", 1234, String(" dolor amet "), 567.89, '!', &s); | CODE |
| LOW⚡ | folly/test/ConvTest.cpp | 475 | EXPECT_EQ(s, "Lorem ipsum 1234 dolor amet 567.89!"); | CODE |
| LOW⚡ | folly/test/ConvTest.cpp | 480 | s = to<String>("Lorem ipsum ", nullptr, 1234, " dolor amet ", 567.89, '.'); | CODE |
| LOW⚡ | folly/test/ConvTest.cpp | 481 | EXPECT_EQ(s, "Lorem ipsum 1234 dolor amet 567.89."); | CODE |
| LOW⚡ | folly/test/ConvTest.cpp | 500 | ":", "Lorem ipsum ", 1234, String(" dolor amet "), 567.89, '!', &s); | CODE |
| LOW⚡ | folly/test/ConvTest.cpp | 501 | EXPECT_EQ(s, "Lorem ipsum :1234: dolor amet :567.89:!"); | CODE |
| LOW⚡ | folly/test/ConvTest.cpp | 507 | ":", "Lorem ipsum ", nullptr, 1234, " dolor amet ", 567.89, '.'); | CODE |
| LOW⚡ | folly/test/ConvTest.cpp | 508 | EXPECT_EQ(s, "Lorem ipsum ::1234: dolor amet :567.89:."); | CODE |
| LOW | folly/test/FBStringTest.cpp | 1276 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras accumsan \n\ | CODE |
| LOW | folly/test/FBStringTest.cpp | 1276 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras accumsan \n\ | CODE |
| LOW | folly/io/test/IOBufTest.cpp | 1326 | const char data[] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit"; | CODE |
| LOW | folly/io/test/IOBufTest.cpp | 1326 | const char data[] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit"; | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | folly/FBString.h | 664 | // Medium strings are copied eagerly. Don't forget to allocate | COMMENT |
| LOW | folly/FBString.h | 717 | // Medium strings are allocated normally. Don't forget to | COMMENT |
| LOW | folly/FBString.h | 798 | // Keep the string at medium size. Don't forget to allocate | COMMENT |
| LOW | folly/FBString.h | 831 | // Don't forget to allocate one extra Char for the terminating null | COMMENT |
| MEDIUM | folly/Format.h | 409 | * so feel free to modify it in place if necessary. (For example, wrap an | COMMENT |
| LOW | folly/futures/test/FutureTest.cpp | 1155 | // (Don't forget to enable ASAN) | COMMENT |
| MEDIUM | folly/lang/MustUseImmediately.h | 558 | // As discussed above, this helps types manage object slicing risk. | COMMENT |
| LOW | folly/container/HeterogeneousAccess.h | 50 | // the header that declares T. Don't forget to typedef is_transparent to | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | folly/python/test/request_context.py | 173 | except Exception as e: | CODE |
| LOW | folly/coro/scripts/co_bt.py | 241 | except Exception: | CODE |
| LOW⚡ | folly/coro/scripts/co_bt.py | 503 | except Exception: | CODE |
| MEDIUM⚡ | folly/coro/scripts/co_bt.py | 504 | print("Error collecting async stack trace:") | CODE |
| LOW | folly/coro/scripts/co_bt.py | 574 | except Exception: | STRING |
| LOW | folly/coro/scripts/co_bt.py | 644 | except Exception: | STRING |
| LOW | folly/coro/scripts/co_bt.py | 705 | except Exception: | STRING |
| LOW | folly/coro/scripts/co_bt.py | 826 | except Exception: | STRING |
| MEDIUM | folly/coro/scripts/co_bt.py | 566 | def get_current_pthread_addr() -> DebuggerValue: | CODE |
| MEDIUM | folly/coro/scripts/co_bt.py | 691 | def get_current_pthread_addr() -> DebuggerValue: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | folly/fibers/scripts/gdb.py | 611 | # This class is responsible for maintaining the name/address:fiberinfo mapping. | COMMENT |
| MEDIUM⚡ | folly/fibers/scripts/gdb.py | 612 | # Creating a FiberInfo object adds it to the cache, and trying to create one | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | folly/CancellationToken.h | 141 | // Example usage: | COMMENT |
| LOW | folly/container/vector_bool.h | 30 | /// Usage example: | COMMENT |
| LOW | folly/coro/Baton.h | 43 | /// Example usage: | COMMENT |
| LOW | folly/coro/SharedMutex.h | 83 | /// Example usage: | COMMENT |
| LOW | folly/coro/AutoCleanup.h | 45 | /// Example usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | folly/io/async/test/AsyncSocketTest2.cpp | 2015 | // Make sure the write attempt timed out as requested | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | folly/support/gdb.py | 413 | # Check if the segment has been initialized or setp over it | COMMENT |
| LOW | folly/support/gdb.py | 427 | # Check if we're done with this segment | COMMENT |
| LOW | folly/coro/scripts/co_bt.py | 221 | # Check if the tls key is initialized | COMMENT |
| LOW | folly/coro/scripts/co_bt.py | 352 | # Check if there is an AsyncStackRoot and if so, whether there | COMMENT |
| LOW | folly/coro/scripts/co_bt.py | 370 | # Check if there is a higher-level AsyncStackRoot that defines | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | CMakeLists.txt | 243 | # ============================================================================= | COMMENT |
| MEDIUM | CMakeLists.txt | 247 | # ============================================================================= | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | folly/fibers/scripts/gdb.py | 711 | CODE | |
| LOW | folly/fibers/scripts/gdb.py | 759 | CODE | |
| LOW | folly/support/gdb.py | 25 | CODE | |
| LOW | folly/support/gdb.py | 120 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | folly/io/async/AsyncSSLSocket.h | 389 | // TODO: implement graceful shutdown in close() | COMMENT |
| LOW | folly/io/async/AsyncSSLSocket.h | 390 | // TODO: implement detachSSL() that returns the SSL connection | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | folly/python/test/request_context.py | 214 | async def set_context() -> None: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | folly/json/test/tests/test_float_format_python_json.py | 17 | CODE |