Commit Graph

14221 Commits

Author SHA1 Message Date
Mathias Vorreiter Pedersen
157424cca3 Merge pull request #21836 from MathiasVP/uncertain-def-more-complete
C++: Support reasoning about whether a phi node overwrites the entire buffer
2026-05-20 13:04:37 +01:00
Mathias Vorreiter Pedersen
f5113b1932 C++: Fix internal SCC edges and accept test changes. 2026-05-19 15:39:32 +01:00
Mathias Vorreiter Pedersen
f77d426706 C++: Add test demonstrating broken phi cycle certain'ness. 2026-05-19 15:35:20 +01:00
Mathias Vorreiter Pedersen
c6ce13a012 C++: Simplify recursion in 'PhiCycle::isCertain' and do not restrict the definition to be a 'PhiNode'. 2026-05-19 15:27:23 +01:00
Mathias Vorreiter Pedersen
d93de54397 C++: Consistent use of 'this.getIndirection()' in 'toString'. 2026-05-19 12:16:37 +01:00
Jeroen Ketema
22a8123ee1 Merge pull request #21860 from jketema/jketema/alias-template
C++: Support alias templates
2026-05-19 10:46:56 +02:00
Mathias Vorreiter Pedersen
2c156994de C++: Add two more 'fopen'-like models. 2026-05-18 14:47:11 +01:00
Jeroen Ketema
5f6553490c Update cpp/ql/lib/change-notes/2026-05-16-alias-template.md 2026-05-18 15:04:52 +02:00
Jeroen Ketema
d14b8064b0 Update cpp/ql/lib/semmle/code/cpp/TypedefType.qll 2026-05-18 15:04:03 +02:00
Jeroen Ketema
7636bf560e Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-18 15:02:34 +02:00
Jeroen Ketema
c2e2770bbf C++: Simplify type alias class naming 2026-05-18 14:22:04 +02:00
Jeroen Ketema
e55edf2f1f Merge pull request #21853 from jketema/jketema/template-constants
C++: Update test results after extractor changes
2026-05-18 13:43:54 +02:00
Jeroen Ketema
305a63bc38 C++: Update dbscheme stats 2026-05-16 16:10:27 +02:00
Jeroen Ketema
963715884e C++: Add change note 2026-05-16 11:50:00 +02:00
Jeroen Ketema
b6847974f7 C++: Add upgrade and downgrade scripts 2026-05-16 09:26:08 +02:00
Jeroen Ketema
336bbc229e C++: Add support for alias templates
Add other missing cases to `isFromTemplateInstantiationRec` and
`isFromUninstantiatedTemplateRec` while here.
2026-05-16 09:11:54 +02:00
Mathias Vorreiter Pedersen
8ce601b1d7 C++: Add change notes. 2026-05-15 21:22:38 +01:00
Mathias Vorreiter Pedersen
4396e66f35 C++: Fix FP by providing an implementation of 'hasSocketInput'. 2026-05-15 21:12:34 +01:00
Mathias Vorreiter Pedersen
eda33adafd C++: Add FP. 2026-05-15 21:07:45 +01:00
Jeroen Ketema
d47ee6bed9 C++: Update test results after extractor changes 2026-05-14 20:22:47 +02:00
Mathias Vorreiter Pedersen
25c4d9d09b Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-13 13:27:04 +01:00
Mathias Vorreiter Pedersen
07b8d7eba7 C++: Accept test changes in experimental query. 2026-05-13 13:14:25 +01:00
Mathias Vorreiter Pedersen
f40d42c575 C++: Perform an SCC reduction to simulate greatest fixed-point semantics. 2026-05-13 13:14:20 +01:00
Mathias Vorreiter Pedersen
8585bb616d C++: Some writes are always certain regardless of the address. 2026-05-13 13:14:13 +01:00
Mathias Vorreiter Pedersen
fc80a2472d C++: Slightly refactor certainty computation with a newtype. 2026-05-13 13:09:12 +01:00
Mathias Vorreiter Pedersen
6d5d57acca C++: Add missing overrides. 2026-05-13 13:09:10 +01:00
Mathias Vorreiter Pedersen
e77d85f23e C++: Add a new test to test assignment certainty (i.e., whether the entire buffer is overwritten). 2026-05-13 13:09:08 +01:00
Mathias Vorreiter Pedersen
b753e7d228 C++: Make 'toString' on 'Ssa::Definition' more clear. 2026-05-13 13:09:01 +01:00
Mathias Vorreiter Pedersen
8e25240282 C++: Add a FP caused by missing certainty around SSA writes from Uninitialized instructions. 2026-05-13 13:07:56 +01:00
github-actions[bot]
7610277199 Post-release preparation for codeql-cli-2.25.4 2026-05-05 10:10:06 +00:00
github-actions[bot]
88e1d86c27 Release preparation for version 2.25.4 2026-05-05 09:34:30 +00:00
Paolo Tranquilli
1c20e78593 Docs: replace build mode: none with build-mode: none 2026-05-04 10:26:50 +02:00
Mathias Vorreiter Pedersen
154d213fd2 Merge pull request #21768 from github/speed-up-unchecked-leap-year-after-modification
C++: Speed up `cpp/leap-year/unchecked-after-arithmetic-year-modification`
2026-04-30 16:06:17 +01:00
Jack Nørskov Jørgensen
0192ffab07 Merge pull request #21751 from github/jacknojo/move_java_generated_mads
Move generated MaDs into modelgenerator/
2026-04-29 14:33:58 +02:00
Mathias Vorreiter Pedersen
96d6ee61ff Update cpp/ql/src/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification.ql
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com>
2026-04-29 10:55:02 +01:00
Mathias Vorreiter Pedersen
dfd85c321c C++: Compute 'IgnorableOperationToOperationSourceCandidateConfig' after an initial round of the query to reduce the number of sinks. 2026-04-28 22:02:32 +01:00
Jeroen Ketema
29dd56f83f C++: Make formatting of switch statement examples more uniform 2026-04-28 16:36:54 +02:00
Jeroen Ketema
0bc23c3af1 C++: Match example with text 2026-04-28 16:33:17 +02:00
Jeroen Ketema
f634b328ee C++: Fix join-order problem in getNextSwitchCase
Before on `neovim`:
```
[2026-04-28 14:54:20] Evaluated non-recursive predicate Stmt::SwitchCase.getNextSwitchCase/0#dispred#2d3cb6d3@ac8178o2 in 68ms (size: 20848).
Evaluated relational algebra for predicate Stmt::SwitchCase.getNextSwitchCase/0#dispred#2d3cb6d3@ac8178o2 with tuple counts:
           21888  ~0%    {2} r1 = SCAN switch_case OUTPUT In.2, In.0
           21888  ~0%    {4}    | JOIN WITH #switch_caseMerge_21#join_rhs ON FIRST 1 OUTPUT Lhs.1, Lhs.0, _, Rhs.1
           21888  ~4%    {3}    | REWRITE WITH Tmp.2 := 1, Out.2 := (In.3 - Tmp.2) KEEPING 3
        24091916  ~0%    {3}    | JOIN WITH switch_case ON FIRST 1 OUTPUT Lhs.2, Rhs.2, Lhs.1
           20848  ~2%    {2}    | JOIN WITH #switch_caseMerge_12#join_rhs ON FIRST 2 OUTPUT Lhs.1, Lhs.2
                         return r1
```

After:
```
[2026-04-28 15:30:53] Evaluated non-recursive predicate Stmt::SwitchCase.getNextSwitchCase/0#dispred#2d3cb6d3@bf9801oj in 0ms (size: 20848).
Evaluated relational algebra for predicate Stmt::SwitchCase.getNextSwitchCase/0#dispred#2d3cb6d3@bf9801oj with tuple counts:
        21888  ~0%    {4} r1 = SCAN switch_case OUTPUT In.0, _, In.2, In.1
        21888  ~1%    {3}    | REWRITE WITH Tmp.1 := 1, Out.1 := (In.3 + Tmp.1) KEEPING 3
        20848  ~2%    {2}    | JOIN WITH switch_case ON FIRST 2 OUTPUT Lhs.2, Rhs.2
                      return r1
```
2026-04-28 15:44:53 +02:00
Jeroen Ketema
fa8c1d6226 C++: Add a getSwitchCase predicate to SwitchStmt 2026-04-28 15:44:12 +02:00
Mathias Vorreiter Pedersen
1ba9601257 Merge pull request #21764 from github/add-strsafe.h-models
C++: Add `Strsafe.h` models
2026-04-28 12:10:26 +01:00
Mathias Vorreiter Pedersen
c59d6cb2a7 C++: Accept query test change. 2026-04-28 11:35:08 +01:00
Mathias Vorreiter Pedersen
f28d5d2f59 C++: Add change note. 2026-04-28 10:57:04 +01:00
Mathias Vorreiter Pedersen
86d8e362a1 C++: Accept test changes. 2026-04-28 10:50:50 +01:00
Mathias Vorreiter Pedersen
2805f788ee C++: Add strsafe.h model. 2026-04-28 10:50:48 +01:00
Mathias Vorreiter Pedersen
e29efc7d2c C++: Add tests with missing flow. 2026-04-28 10:50:39 +01:00
Jeroen Ketema
2886127535 Merge pull request #21409 from jketema/jketema/softfloat
C++: Update expected test results after extractor changes
2026-04-28 09:47:44 +02:00
Jack Nørskov Jørgensen
07cb9803f0 Move generated MaDs for CPP into modelgenerator/ 2026-04-24 13:24:31 +02:00
Jeroen Ketema
ae89b2ee79 Merge pull request #21747 from jketema/join-order
Fix two `QualifiedName` join orders
2026-04-24 08:05:24 +02:00
Mathias Vorreiter Pedersen
14efb4502b C++: Fix join in getVariable. 2026-04-23 12:10:09 +01:00