Mutation check done on all accepted tasks; mutant fixes; dump filter in proxy
- skip sy-subrc lines and CDS type lengths; CDS literal mutants; mutate helper classes - proxy: sap_short_dumps shows only dumps of the current run - 26/26 tasks pass; results in docs/faz1-tasarim.md 11g Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014aUaQeLnwbb1zTpN7kHeat
This commit is contained in:
22
tasks_gen/eval/G0017/faulty/m1_i_proj_effort.ddls.asddls
Normal file
22
tasks_gen/eval/G0017/faulty/m1_i_proj_effort.ddls.asddls
Normal file
@@ -0,0 +1,22 @@
|
||||
@AccessControl.authorizationCheck: #NOT_REQUIRED
|
||||
@EndUserText.label: 'Project effort'
|
||||
define view entity {{P}}I_PROJ_EFFORT
|
||||
as select from {{p}}proj as proj
|
||||
inner join {{p}}asgn as asgn on asgn.proj_id <> proj.proj_id
|
||||
{
|
||||
key proj.proj_id as proj_id,
|
||||
proj.proj_name as proj_name,
|
||||
count( * ) as assign_count,
|
||||
sum( asgn.work_hours ) as total_hours,
|
||||
sum( cast( asgn.work_hours as abap.dec( 15, 2 ) ) * asgn.rate ) as total_cost,
|
||||
case
|
||||
when sum( cast( asgn.work_hours as abap.dec( 15, 2 ) ) * asgn.rate ) > proj.budget
|
||||
then 'X'
|
||||
else 'N'
|
||||
end as over_budget
|
||||
}
|
||||
where asgn.status = 'A'
|
||||
group by
|
||||
proj.proj_id,
|
||||
proj.proj_name,
|
||||
proj.budget
|
||||
22
tasks_gen/eval/G0017/faulty/m2_i_proj_effort.ddls.asddls
Normal file
22
tasks_gen/eval/G0017/faulty/m2_i_proj_effort.ddls.asddls
Normal file
@@ -0,0 +1,22 @@
|
||||
@AccessControl.authorizationCheck: #NOT_REQUIRED
|
||||
@EndUserText.label: 'Project effort'
|
||||
define view entity {{P}}I_PROJ_EFFORT
|
||||
as select from {{p}}proj as proj
|
||||
inner join {{p}}asgn as asgn on asgn.proj_id = proj.proj_id
|
||||
{
|
||||
key proj.proj_id as proj_id,
|
||||
proj.proj_name as proj_name,
|
||||
count( * ) as assign_count,
|
||||
max( asgn.work_hours ) as total_hours,
|
||||
sum( cast( asgn.work_hours as abap.dec( 15, 2 ) ) * asgn.rate ) as total_cost,
|
||||
case
|
||||
when sum( cast( asgn.work_hours as abap.dec( 15, 2 ) ) * asgn.rate ) > proj.budget
|
||||
then 'X'
|
||||
else 'N'
|
||||
end as over_budget
|
||||
}
|
||||
where asgn.status = 'A'
|
||||
group by
|
||||
proj.proj_id,
|
||||
proj.proj_name,
|
||||
proj.budget
|
||||
22
tasks_gen/eval/G0017/faulty/m3_i_proj_effort.ddls.asddls
Normal file
22
tasks_gen/eval/G0017/faulty/m3_i_proj_effort.ddls.asddls
Normal file
@@ -0,0 +1,22 @@
|
||||
@AccessControl.authorizationCheck: #NOT_REQUIRED
|
||||
@EndUserText.label: 'Project effort'
|
||||
define view entity {{P}}I_PROJ_EFFORT
|
||||
as select from {{p}}proj as proj
|
||||
inner join {{p}}asgn as asgn on asgn.proj_id = proj.proj_id
|
||||
{
|
||||
key proj.proj_id as proj_id,
|
||||
proj.proj_name as proj_name,
|
||||
count( * ) as assign_count,
|
||||
sum( asgn.work_hours ) as total_hours,
|
||||
max( cast( asgn.work_hours as abap.dec( 15, 2 ) ) * asgn.rate ) as total_cost,
|
||||
case
|
||||
when sum( cast( asgn.work_hours as abap.dec( 15, 2 ) ) * asgn.rate ) > proj.budget
|
||||
then 'X'
|
||||
else 'N'
|
||||
end as over_budget
|
||||
}
|
||||
where asgn.status = 'A'
|
||||
group by
|
||||
proj.proj_id,
|
||||
proj.proj_name,
|
||||
proj.budget
|
||||
22
tasks_gen/eval/G0017/faulty/m4_i_proj_effort.ddls.asddls
Normal file
22
tasks_gen/eval/G0017/faulty/m4_i_proj_effort.ddls.asddls
Normal file
@@ -0,0 +1,22 @@
|
||||
@AccessControl.authorizationCheck: #NOT_REQUIRED
|
||||
@EndUserText.label: 'Project effort'
|
||||
define view entity {{P}}I_PROJ_EFFORT
|
||||
as select from {{p}}proj as proj
|
||||
inner join {{p}}asgn as asgn on asgn.proj_id = proj.proj_id
|
||||
{
|
||||
key proj.proj_id as proj_id,
|
||||
proj.proj_name as proj_name,
|
||||
count( * ) as assign_count,
|
||||
sum( asgn.work_hours ) as total_hours,
|
||||
sum( cast( asgn.work_hours as abap.dec( 15, 2 ) ) * asgn.rate ) as total_cost,
|
||||
case
|
||||
when sum( cast( asgn.work_hours as abap.dec( 15, 2 ) ) * asgn.rate ) <= proj.budget
|
||||
then 'X'
|
||||
else 'N'
|
||||
end as over_budget
|
||||
}
|
||||
where asgn.status = 'A'
|
||||
group by
|
||||
proj.proj_id,
|
||||
proj.proj_name,
|
||||
proj.budget
|
||||
59
tasks_gen/eval/G0017/mutation.json
Normal file
59
tasks_gen/eval/G0017/mutation.json
Normal file
@@ -0,0 +1,59 @@
|
||||
{
|
||||
"task": "G0017",
|
||||
"mutants": [
|
||||
{
|
||||
"object": "{{P}}I_PROJ_EFFORT",
|
||||
"mutant": "line 5: inner join -> left outer join (join)",
|
||||
"status": "survived",
|
||||
"hidden": "8/8",
|
||||
"failed_tests": []
|
||||
},
|
||||
{
|
||||
"object": "{{P}}I_PROJ_EFFORT",
|
||||
"mutant": "line 5: = -> <> (eq)",
|
||||
"status": "killed",
|
||||
"hidden": "1/8",
|
||||
"failed_tests": [
|
||||
"BUDGET_NOT_EXCEEDED",
|
||||
"COST_OF_PROJECT_ONE",
|
||||
"COUNT_OF_PROJECT_ONE",
|
||||
"HOURS_OF_PROJECT_ONE",
|
||||
"NO_ACTIVE_ASSIGNMENT",
|
||||
"OVER_BUDGET_FLAG",
|
||||
"ROW_COUNT"
|
||||
]
|
||||
},
|
||||
{
|
||||
"object": "{{P}}I_PROJ_EFFORT",
|
||||
"mutant": "line 10: sum( -> max( (agg)",
|
||||
"status": "killed",
|
||||
"hidden": "7/8",
|
||||
"failed_tests": [
|
||||
"HOURS_OF_PROJECT_ONE"
|
||||
]
|
||||
},
|
||||
{
|
||||
"object": "{{P}}I_PROJ_EFFORT",
|
||||
"mutant": "line 11: sum( -> max( (agg)",
|
||||
"status": "killed",
|
||||
"hidden": "7/8",
|
||||
"failed_tests": [
|
||||
"COST_OF_PROJECT_ONE"
|
||||
]
|
||||
},
|
||||
{
|
||||
"object": "{{P}}I_PROJ_EFFORT",
|
||||
"mutant": "line 13: > -> <= (rel)",
|
||||
"status": "killed",
|
||||
"hidden": "6/8",
|
||||
"failed_tests": [
|
||||
"BUDGET_NOT_EXCEEDED",
|
||||
"OVER_BUDGET_FLAG"
|
||||
]
|
||||
}
|
||||
],
|
||||
"valid": 5,
|
||||
"killed": 4,
|
||||
"kill_rate": 0.8,
|
||||
"ok": true
|
||||
}
|
||||
Reference in New Issue
Block a user