java: rewrite conflict detection

- favour unary predicates over binary ones
(the natural "conflicting access" is binary)
- switch to a dual solution to trade recursion through forall for simple existentials.

Co-authored-by: Anders Schack-Mulligen <aschackmull@github.com>
This commit is contained in:
yoff
2025-10-17 01:39:29 +02:00
parent 5109babd92
commit 61a3e9630f
11 changed files with 296 additions and 323 deletions

View File

@@ -40,7 +40,7 @@ public class Test {
*/
public void setYCorrect(int y) {
lock.lock();
this.y = y; // $ Alert
this.y = y;
lock.unlock();
}
@@ -49,7 +49,7 @@ public class Test {
* @param y
*/
private void setYPrivate(int y) {
this.y = y;
this.y = y; // $ Alert
}
/**
@@ -57,7 +57,7 @@ public class Test {
* @param y
*/
public void setYWrongLock(int y) {
this.y = y;
this.y = y; // $ Alert
lock.lock();
lock.unlock();
}
@@ -71,6 +71,6 @@ public class Test {
}
public void testMethod() {
this.y = y + 2;
this.y = y + 2; // $ Alert
}
}