Beyond Surface Metrics: Multi-Condition Requirements in Enterprise Maintenance and AI Coding Benchmarks
Organizations: KPMG Korea
Abstract
Repository-level AI coding benchmarks measure task success but do not directly capture the conditions required for software maintenance completion. We study multi-condition fulfillment, where a maintenance task must satisfy multiple operational conditions, sometimes with directional dependencies. Using a fixed 18-criterion taxonomy, we analyze 2,925 Apache Fineract issues and 944 tasks from SWE-bench Pro, SWE-PolyBench Java, and SWE-EVO. We examine condition breadth, corpus-level co-occurrence, and source-grounded directional requirement relationships. Among 1,177 benchmark task pairs matched on issue classification, modified-file count, and code churn, the mean fulfillment-set Jaccard distance is 0.8138, and 57.4% have disjoint condition sets. Condition count alone does not explain this contrast: SWE-bench Pro averages 2.47 conditions per task, versus 1.78 for Fineract. Temporal (B4) and numerical (B2) conditions have a phi coefficient of +0.430 in Fineract versus -0.013 in the pooled benchmark corpus. Among temporally tagged tasks, numerical conditions are also specified in 48.85% (254/520) of Fineract cases versus 5.81% (5/86) of benchmark cases. We document 16 directional relationships in Fineract requirements involving time, calculation, and state preservation, and inspect four benchmark cases to illustrate how relevant conditions appear in evaluation assertions. These examples do not quantify benchmark-wide oracle omissions. The results show that similar surface task profiles can mask substantially different fulfillment-condition sets. We recommend reporting condition breadth, co-occurrence, and directional relationships separately. The corpus comparisons are descriptive and may reflect domain differences; they do not establish causality or production failure rates.
Figures & tables
| Analytical Dimension | SNC Audit [ 5 ] | UTBoost [ 7 ] | This Work |
|---|---|---|---|
| Primary Problem | Repository topography ambiguity and task demand categorization | Incomplete tests and false pass judgments | Multi-condition structure of maintenance completion |
| Unit of Analysis | Repository graph metrics (AST distance, spread, novelty) | Tests and candidate patches in SWE-bench tasks | Requirement fulfillment invariants ( ) |
| Requirement Perspective | Surface issue labels (Bug, Feature, Enhancement) | Task-specific tests and patch evaluation | Ontological taxonomy (ISO 14764 / 25010) with verified quotes |
| Oracle Evaluation Scope | Accepts existing benchmark test harnesses as ground truth | Augments benchmark tests to flag incorrect passes | Secondary case-level assertion inspection |
| Empirical Scope | SWE-bench Lite/Verified (Python repository graphs) | SWE-bench Python repos (LLM-augmented test suites) | Analyzed AI tasks ( ) vs. Fineract issues ( ) |
| Code | Codebook Criterion Name | AI All ( ) | Pro ( ) | Poly ( ) | EVO ( ) |
|---|---|---|---|---|---|
| A1 | Product Operation & Business Rules | 426 (45.13%) | 300 (41.04%) | 84 (50.91%) | 42 (87.50%) |
| A2 | Structure & Implementation Method | 572 (60.59%) | 505 (69.08%) | 50 (30.30%) | 17 (35.42%) |
| A3 | Testing & Quality Assurance | 94 (9.96%) | 70 (9.58%) | 10 (6.06%) | 14 (29.17%) |
| A4 | Execution & Operations | 122 (12.92%) | 93 (12.72%) | 20 (12.12%) | 9 (18.75%) |
| A5 | Deployment & Environment Migration | 60 (6.36%) | 39 (5.34%) | 9 (5.45%) | 12 (25.00%) |
| A6 | Development Process & Docs | 53 (5.61%) | 25 (3.42%) | 17 (10.30%) | 11 (22.92%) |
| Metric / Bin | Fineract ( ) | AI All ( ) | Pro ( ) | Poly ( ) | EVO ( ) |
|---|---|---|---|---|---|
| Mean | 1.78 (1.7798) | 2.24 (2.2447) | 2.47 (2.4733) | 1.22 (1.2182) | 2.29 (2.2917) |
| Median | 2.0 | 2.0 | 2.0 | 1.0 | 2.0 |
| 331 (11.32%) | 3 (0.32%) | 0 (0.00%) | 3 (1.82%) | 0 (0.00%) | |
| 872 (29.81%) | 248 (26.27%) | 109 (14.91%) | 126 (76.36%) | 13 (27.08%) | |
| 1,097 (37.50%) | 357 (37.82%) | 304 (41.59%) | 33 (20.00%) | 20 (41.67%) | |
| 451 (15.42%) | 231 (24.47%) | 219 (29.96%) | 3 (1.82%) | 9 (18.75%) |
| Pair | Condition Pair (non-directional) | Fineract ( ) | AI Bench ( ) |
|---|---|---|---|
| Co-occur / | Co-occur / ( ) | ||
| Temporal / Numerical | 254 / | 5 / ( ) | |
| Business Rule / Temporal | 471 / | 42 / ( ) | |
| Business Rule / Numerical | 440 / | 34 / ( ) | |
| Business Rule / Consistency | 538 / | 115 / ( ) | |
| Temporal / Consistency | 138 / | 22 / ( ) |
| ID | Issue | Classification | Structural Chain | Verbatim Jira Excerpt |
| Causal Cascade Focus: Multi-Tier Loan Modification (FINERACT-2338) | ||||
| DEP-01 | FINERACT-2338 | Explicit Dependency | “Backdate can be done on already paid Installments as well” | |
| DEP-02 | FINERACT-2338 | Explicit Dependency | “Repayment schedule will be recalculated with New EMI and Interest from the Interest applied schedule date” | |
| DEP-03 | FINERACT-2338 | Explicit Dependency | “No of Installments will remain the same, only EMI and Interest would get affected” | |
| DEP-04 | FINERACT-2338 | Explicit Dependency | “standard accounting rules and not charge-off accounting rules” | |
| Cross-Entity Invariant Preservation & Transaction Isolation | ||||
| Axis / Task | Specification Mandate ( ) | Evaluation Test Oracle ( ) | Observed Scope | Construct Alignment or Gap Analysis |
|---|---|---|---|---|
| Axis 1 (Direct) NodeBB #0030 | Explicit ( ) : DB migration script ( chat_allow_list.js , 44 LOC) migrating legacy restrictChat records. | Leaf Unit Assertion : Asserts canMessageUser() on mock objects in memory ( test/messaging.js , L103–121). | In-memory leaf | Construct Underrepresentation : Direct test patch asserts leaf permissions; DB migration script unasserted in analyzed test patch. |
| Axis 2 (Scope) Element-Web #0139 | Explicit badge update; inferred cache persistence : Recalculate unread badges; IndexedDB cache synchronization is inferred rather than explicitly mandated. | Mocked State : Asserts helper return values under synthetic event mocks ( test/Unread-test.ts ). | In-memory mock | Mocked Logic vs. Persistent Cache : In-memory transitions verified; asynchronous IndexedDB cache persistence outside evaluation scope. |
| Axis 3 (Hierarchy) RocketMQ #0819 | Explicit ( ) : Thread-safe counter insertion ( StatsItemSet , 20kL) under JVM thread contention. | Thread Stress Test : 100 worker threads executing 10,000 tasks ( StatsItemSetTest.java ). | JVM thread contention | Single JVM Concurrency Met : Checks concurrent counter accumulation within a single JVM; distributed transaction boundaries are not mandated by the task. |
| Axis 4 (Aligned) Navidrome #0495 | Explicit ( ) : Online SQLite DB backup, destructive DDL recovery, and retention pruning. | Integrated Engine Test : Executes backup, runs destructive DDL, restores DB, asserts pruning ( db/backup_test.go ). | Persistent DB state | Aligned Invariant Testing : Positive case in which the inspected tests directly address the explicitly required persistent-state operations. |