The Terminal Output "Error: quality gate failed. see ./out/quality.json"
quality.json
{
"adapter_kind": "dynamic_snapshot_string_model_v1",
"adapter_schema": {
"compatibility_mode": "native_v3",
"function_name_kind_breakdown": {
"exact": 0,
"external": 0,
"heuristic": 0,
"placeholder": 5394,
"unknown": 0,
"unspecified": 0
},
"function_name_kind_count": 5394,
"pool_confidence_count": 17639,
"pool_source_count": 17639,
"schema_version": 3
},
"adapter_selection": {
"adapter_exec_path": "/workspaces/156587835/adapters/installed/dart_adapter_adf563436d12ba0d50ea5beb7f3be1bb",
"backend_mismatch": false,
"manifest_entry_adapter": "dart_adapter_adf563436d12ba0d50ea5beb7f3be1bb",
"manifest_entry_version": "unknown",
"requested_backend": "auto",
"require_snapshot_hash_match": false,
"resolved_backend": "internal",
"resolved_from_adapter_kind": "dynamic_snapshot_string_model_v1",
"snapshot_hash": {
"adapter_model": "adf563436d12ba0d50ea5beb7f3be1bb",
"bundle": "adf563436d12ba0d50ea5beb7f3be1bb",
"match": true
}
},
"analysis": {
"engine": {
"apk_startup_analysis": true,
"bootflow_category_seeds": true,
"canonical_model_symbols": true,
"pool_semantic_hints": true,
"pool_value_hints": true,
"semantic_reporting": true
},
"profile": "balanced"
},
"android_manifest": {
"activities": [],
"activity_count": 0,
"application_name": null,
"confidence": {
"activities": "none",
"deeplink": "none",
"launcher": "none",
"package_name": "none"
},
"deeplink_activities": [],
"deeplink_activity_count": 0,
"deeplink_entries": [],
"deeplink_entry_count": 0,
"launcher_activities": [],
"launcher_activity_count": 0,
"main_launcher": false,
"package_name": null,
"parse_error": null,
"parse_mode": "not_apk",
"present": false,
"synthetic_bootflow_hints": 0,
"view_browsable": false
},
"android_startup": {
"bootstrap_chain": {
"complete": false,
"missing_steps": [],
"path_count": 0,
"paths": [],
"source_count": 0,
"sources": []
},
"confidence": "none",
"dart_entrypoint_count": 0,
"dart_entrypoints": [],
"dex_file_count": 0,
"dex_files": [],
"enabled": true,
"flutter_activity_classes": [],
"flutter_activity_count": 0,
"jni_bootstrap": [],
"jni_bootstrap_count": 0,
"parse_error_count": 0,
"parse_errors": [],
"present": false,
"startup_method_count": 0,
"startup_methods": [],
"synthetic_bootflow_hints": 0
},
"arch": "arm64",
"bootflow_discovery": {
"activity": [],
"activity_count": 0,
"bootstrap": [],
"bootstrap_count": 0,
"deeplink": [],
"deeplink_count": 0,
"main": [],
"main_count": 0,
"runapp": [],
"runapp_count": 0
},
"call_fallback": {
"dispatch_invoke": 256,
"dispatch_target_invoke": 7417,
"dynamic_call": 0,
"generic_invoke": 579
},
"compatibility": {
"manifest_entry_present": true,
"schema": {
"supported": true,
"supported_versions": [
2,
3
],
"version": 3
},
"snapshot_hash_match": true,
"snapshot_hash_match_required": false,
"status": "ok",
"warnings": []
},
"counts": {
"classes": 1,
"disassembled_functions": 5394,
"functions": 5394,
"functions_total": 5394,
"libraries": 1,
"object_pool": 17639
},
"dart_version": "unknown",
"engine_fingerprint_context": {
"build_id": "66d0e39796ee8d36dc1fe350d14ebf0aa73cd03c",
"candidate_dart_version": null,
"candidate_flutter_version": null,
"confidence": "medium",
"detected": true,
"dyn_symbol_count": 456,
"error": null,
"exec_section_count": 2,
"machine": "AArch64",
"machine_id": 183,
"machine_matches_bundle_arch": true,
"source": "filesystem:libflutter.so",
"symbol_count": 0
},
"engine_symbol_ingestion": {
"applied_target_count": 0,
"enabled": false,
"error": null,
"loaded_paths": [],
"manifest_path": null,
"match_kind": null
},
"extra_symbol_elfs": [],
"extra_symbol_map_targets": [],
"function_scope": {
"app_package_count_total": 1,
"app_package_counts_top": [
{
"functions": 5394,
"package": "app"
}
],
"app_packages": [],
"categories": {
"app": 5394,
"framework": 0,
"stdlib": 0,
"unknown": 0
},
"excluded": 0,
"excluded_by_app_package": 0,
"priority_package_hints": [],
"selected": "app-unknown",
"total_after_filter": 5394,
"total_before_filter": 5394
},
"ghidra_script": {
"enabled": false,
"path": null,
"pool_comment_count": 0,
"symbol_count": 0
},
"ida_script": {
"enabled": true,
"path": "./out/ida_apply_symbols.py",
"pool_comment_count": 42216,
"symbol_count": 5394
},
"include_nearest_symbol_map": false,
"input": "libapp.so",
"libapp": "libapp.so",
"name_resolution": {
"final_quality": {
"exact": 0,
"external": 0,
"heuristic": 0,
"placeholder": 5394
},
"merge": {
"inserted": 0,
"replaced": 0,
"replaced_to_exact": 0,
"replaced_to_external": 0,
"replaced_to_heuristic": 0,
"replaced_to_placeholder": 0,
"skipped": 0
}
},
"pool_metadata": {
"total_entries": 17639,
"with_library_uri": 0,
"with_owner_class": 0,
"with_selector": 11274,
"with_target_va": 0
},
"pool_semantic_hints": 11274,
"pool_target_symbols": 0,
"pool_value_hints": 17635,
"prioritization": {
"enabled": false,
"focus": null,
"selected": [
{
"components": [],
"entry_va": 3034336,
"function_id": 0,
"function_name": "sub_2e4ce0",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3034436,
"function_id": 1,
"function_name": "sub_2e4d44",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3036516,
"function_id": 2,
"function_name": "sub_2e5564",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3037616,
"function_id": 3,
"function_name": "sub_2e59b0",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3037648,
"function_id": 4,
"function_name": "sub_2e59d0",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3037684,
"function_id": 5,
"function_name": "sub_2e59f4",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3039592,
"function_id": 6,
"function_name": "sub_2e6168",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3040104,
"function_id": 7,
"function_name": "sub_2e6368",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3040212,
"function_id": 8,
"function_name": "sub_2e63d4",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3040324,
"function_id": 9,
"function_name": "sub_2e6444",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3040700,
"function_id": 10,
"function_name": "sub_2e65bc",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3041076,
"function_id": 11,
"function_name": "sub_2e6734",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3041248,
"function_id": 12,
"function_name": "sub_2e67e0",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3041468,
"function_id": 13,
"function_name": "sub_2e68bc",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3041608,
"function_id": 14,
"function_name": "sub_2e6948",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3042024,
"function_id": 15,
"function_name": "sub_2e6ae8",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3042420,
"function_id": 16,
"function_name": "sub_2e6c74",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3043704,
"function_id": 17,
"function_name": "sub_2e7178",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3044064,
"function_id": 18,
"function_name": "sub_2e72e0",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3044356,
"function_id": 19,
"function_name": "sub_2e7404",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3044560,
"function_id": 20,
"function_name": "sub_2e74d0",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3044668,
"function_id": 21,
"function_name": "sub_2e753c",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3044828,
"function_id": 22,
"function_name": "sub_2e75dc",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3047552,
"function_id": 23,
"function_name": "sub_2e8080",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3047820,
"function_id": 24,
"function_name": "sub_2e818c",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3048224,
"function_id": 25,
"function_name": "sub_2e8320",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3048384,
"function_id": 26,
"function_name": "sub_2e83c0",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3048576,
"function_id": 27,
"function_name": "sub_2e8480",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3048764,
"function_id": 28,
"function_name": "sub_2e853c",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3048868,
"function_id": 29,
"function_name": "sub_2e85a4",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3048884,
"function_id": 30,
"function_name": "sub_2e85b4",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3048928,
"function_id": 31,
"function_name": "sub_2e85e0",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3048980,
"function_id": 32,
"function_name": "sub_2e8614",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3049424,
"function_id": 33,
"function_name": "sub_2e87d0",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3049888,
"function_id": 34,
"function_name": "sub_2e89a0",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3050028,
"function_id": 35,
"function_name": "sub_2e8a2c",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3050408,
"function_id": 36,
"function_name": "sub_2e8ba8",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3051272,
"function_id": 37,
"function_name": "sub_2e8f08",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3051484,
"function_id": 38,
"function_name": "sub_2e8fdc",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3051800,
"function_id": 39,
"function_name": "sub_2e9118",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3052576,
"function_id": 40,
"function_name": "sub_2e9420",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3052716,
"function_id": 41,
"function_name": "sub_2e94ac",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3053088,
"function_id": 42,
"function_name": "sub_2e9620",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3053336,
"function_id": 43,
"function_name": "sub_2e9718",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3053800,
"function_id": 44,
"function_name": "sub_2e98e8",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3054020,
"function_id": 45,
"function_name": "sub_2e99c4",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3054372,
"function_id": 46,
"function_name": "sub_2e9b24",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3054616,
"function_id": 47,
"function_name": "sub_2e9c18",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3055112,
"function_id": 48,
"function_name": "sub_2e9e08",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3055520,
"function_id": 49,
"function_name": "sub_2e9fa0",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3055584,
"function_id": 50,
"function_name": "sub_2e9fe0",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3056080,
"function_id": 51,
"function_name": "sub_2ea1d0",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3056104,
"function_id": 52,
"function_name": "sub_2ea1e8",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3056284,
"function_id": 53,
"function_name": "sub_2ea29c",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3057244,
"function_id": 54,
"function_name": "sub_2ea65c",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3071456,
"function_id": 55,
"function_name": "sub_2edde0",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3071560,
"function_id": 56,
"function_name": "sub_2ede48",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3071724,
"function_id": 57,
"function_name": "sub_2edeec",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3071812,
"function_id": 58,
"function_name": "sub_2edf44",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3072892,
"function_id": 59,
"function_name": "sub_2ee37c",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3073056,
"function_id": 60,
"function_name": "sub_2ee420",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3073376,
"function_id": 61,
"function_name": "sub_2ee560",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3073952,
"function_id": 62,
"function_name": "sub_2ee7a0",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
},
{
"components": [],
"entry_va": 3074428,
"function_id": 63,
"function_name": "sub_2ee97c",
"library_uri": "package:app/main.dart",
"owner_class": "Global",
"total_score": 0
}
],
"selected_app_like_ratio": 1.0,
"selected_bootflow_coverage": {
"activity": {
"coverage": 0.0,
"discovered": 0,
"selected": 0
},
"any": {
"coverage": 0.0,
"discovered": 0,
"selected": 0
},
"bootstrap": {
"coverage": 0.0,
"discovered": 0,
"selected": 0
},
"deeplink": {
"coverage": 0.0,
"discovered": 0,
"selected": 0
},
"main": {
"coverage": 0.0,
"discovered": 0,
"selected": 0
},
"runapp": {
"coverage": 0.0,
"discovered": 0,
"selected": 0
}
},
"selected_bootflow_hits_top": [],
"selected_component_totals_top": [],
"selected_count": 5394,
"selected_other_app_count": 0,
"selected_package_count_total": 1,
"selected_package_counts_top": [
{
"functions": 64,
"package": "app"
}
],
"selected_preferred_app_count": 64,
"selected_preferred_app_ratio": 1.0,
"selected_scope_mix": {
"app": 64,
"framework": 0,
"stdlib": 0,
"unknown": 0
},
"selected_unknown_library_count": 0
},
"quality": {
"block_helper_refs": 0,
"disassembled_function_count": 5394,
"disassembly_ratio": 1.0,
"dispatch_selector_calls": 1132,
"failures": [
"placeholder if-count exceeded threshold"
],
"function_count": 5394,
"indirect_call_ratio": 0.12557602191154899,
"indirect_calls": 9674,
"loop_backedge_markers": 1,
"mode": "strict",
"omitted_path_markers": 827,
"passed": false,
"placeholder_cond_markers": 1618,
"placeholder_ifs": 1691,
"raw_arg_name_refs": 0,
"raw_register_calls": 9674,
"raw_register_name_refs": 0,
"semantic_direct_calls": 37,
"semantic_indirect_calls": 10,
"target_va_symbol_calls": 0,
"total_calls": 77037,
"unresolved_cf": 0
},
"selector_fallback": {
"top": [
{
"count": 174,
"sample": "final t3 = AQaqaq.new(0xa0, (bitField((bitField(objTmp1.f7, 0, 0x20) & 0xff000000), 0, 0x20) >> 0x18), tmp1, bitField(objTmp1.f7, 0, 0x20)); // selector: AQaqaq, heuristic: constru...",
"selector": "AQaqaq"
},
{
"count": 117,
"sample": "final t4 = dispatch.iid(t3, null, objTmp1, poolStr10448); // selector: iid, indirect via: dispatchTarget, target: pool[1056 /* \"iid\" */].f7",
"selector": "iid"
},
{
"count": 78,
"sample": "final t2 = GestureRecognizerState.new(null, null, (t1.f7), poolStr10568); // selector: GestureRecognizerState, heuristic: constructor-like selector, indirect via: dispatchTarget, t...",
"selector": "GestureRecognizerState"
},
{
"count": 52,
"sample": "final t7 = Rect_fromLTRB.new(tmp10, resultTmp9, null, poolStr13328); // selector: Rect_fromLTRB, heuristic: constructor-like selector, indirect via: dispatchTarget, target: pool[13...",
"selector": "Rect_fromLTRB"
},
{
"count": 41,
"sample": "final t2 = dispatch.jz(intTmp1, null, null, \"y. MMM d., EEE\" /* pool[2328] */); // selector: jz, indirect via: dispatchTarget, target: pool[2040 /* \"_jz\" */].f7",
"selector": "jz"
},
{
"count": 28,
"sample": "final t1 = LoadingUnit.new(tmp7, null, (objTmp1.f23.f15.f7), \"Til baka\" /* pool[6464] */); // selector: LoadingUnit, heuristic: constructor-like selector, indirect via: dispatchTar...",
"selector": "LoadingUnit"
},
{
"count": 19,
"sample": "final t3 = dispatch.uBc(null, tmp15, null, pool[18693]); // selector: uBc, indirect via: dispatchTarget, target: pool[11784 /* \"uBc\" */].f7",
"selector": "uBc"
},
{
"count": 14,
"sample": "final t1 = dispatch.torstai(null, null, (objTmp1.f7), poolStr8768); // selector: torstai, indirect via: dispatchTarget, target: pool[1192 /* \"GestureRecognizerState.\" */].f7",
"selector": "torstai"
},
{
"count": 12,
"sample": "final t3 = dispatch.Gwb(null, tmp5, null, poolStr11776); // selector: Gwb, indirect via: dispatchTarget, target: pool[11784 /* \"uBc\" */].f7",
"selector": "Gwb"
},
{
"count": 12,
"sample": "final t2 = dispatch.keyboardAppearance(((sp + ((obj4.f19) - (obj4.f35)) /* sxtw #2 */)).f8, null, ((((sp + ((obj4.f19) - 4) /* sxtw #2 */)).f24).f7), poolStr7703); // selector: key...",
"selector": "keyboardAppearance"
}
],
"total": 1132,
"unique": 232
},
"semantic_intent": {
"constructor_calls": 2,
"framework": 7,
"native": 0,
"runtime": 0,
"selector_tagged": 12,
"stdlib": 5
},
"semantic_rewrite": {
"direct": 37,
"dispatch_fallback": 1132,
"indirect": 10,
"indirect_ratio": 0.1180483770932396,
"ratio": 0.015304334280929944,
"target_va_symbol": 0,
"total": 1179
},
"snapshot_hash": "adf563436d12ba0d50ea5beb7f3be1bb",
"standard_model_symbols": 0,
"symbol_merge": {
"inserted": 0,
"replaced_generic": 0,
"skipped": 0
},
"target_selection": {
"enabled": false,
"kind": null,
"matched_count": 0,
"scope_overridden": false,
"selector": null,
"value": null
}
}
Environment
libapp.soflutterdeccommit/tag: main/08b8ea33cc5b997d933f2da0ec7081d0ee3cd28d)3cc5b997d933f2da0ec7081d0ee3cd28dWhat Happened
The Terminal Output "Error: quality gate failed. see ./out/quality.json"
quality.json{ "mode": "strict", "passed": false, "failures": [ "placeholder if-count exceeded threshold" ], "function_count": 5394, "disassembled_function_count": 5394, "disassembly_ratio": 1.0, "total_calls": 77037, "indirect_calls": 9674, "indirect_call_ratio": 0.12557602191154899, "placeholder_ifs": 1691, "unresolved_cf": 0, "raw_register_calls": 9674, "semantic_direct_calls": 37, "semantic_indirect_calls": 10, "dispatch_selector_calls": 1132, "target_va_symbol_calls": 0, "block_helper_refs": 0, "raw_arg_name_refs": 0, "raw_register_name_refs": 0, "placeholder_cond_markers": 1618, "omitted_path_markers": 827, "loop_backedge_markers": 1 }report.json{ "adapter_kind": "dynamic_snapshot_string_model_v1", "adapter_schema": { "compatibility_mode": "native_v3", "function_name_kind_breakdown": { "exact": 0, "external": 0, "heuristic": 0, "placeholder": 5394, "unknown": 0, "unspecified": 0 }, "function_name_kind_count": 5394, "pool_confidence_count": 17639, "pool_source_count": 17639, "schema_version": 3 }, "adapter_selection": { "adapter_exec_path": "/workspaces/156587835/adapters/installed/dart_adapter_adf563436d12ba0d50ea5beb7f3be1bb", "backend_mismatch": false, "manifest_entry_adapter": "dart_adapter_adf563436d12ba0d50ea5beb7f3be1bb", "manifest_entry_version": "unknown", "requested_backend": "auto", "require_snapshot_hash_match": false, "resolved_backend": "internal", "resolved_from_adapter_kind": "dynamic_snapshot_string_model_v1", "snapshot_hash": { "adapter_model": "adf563436d12ba0d50ea5beb7f3be1bb", "bundle": "adf563436d12ba0d50ea5beb7f3be1bb", "match": true } }, "analysis": { "engine": { "apk_startup_analysis": true, "bootflow_category_seeds": true, "canonical_model_symbols": true, "pool_semantic_hints": true, "pool_value_hints": true, "semantic_reporting": true }, "profile": "balanced" }, "android_manifest": { "activities": [], "activity_count": 0, "application_name": null, "confidence": { "activities": "none", "deeplink": "none", "launcher": "none", "package_name": "none" }, "deeplink_activities": [], "deeplink_activity_count": 0, "deeplink_entries": [], "deeplink_entry_count": 0, "launcher_activities": [], "launcher_activity_count": 0, "main_launcher": false, "package_name": null, "parse_error": null, "parse_mode": "not_apk", "present": false, "synthetic_bootflow_hints": 0, "view_browsable": false }, "android_startup": { "bootstrap_chain": { "complete": false, "missing_steps": [], "path_count": 0, "paths": [], "source_count": 0, "sources": [] }, "confidence": "none", "dart_entrypoint_count": 0, "dart_entrypoints": [], "dex_file_count": 0, "dex_files": [], "enabled": true, "flutter_activity_classes": [], "flutter_activity_count": 0, "jni_bootstrap": [], "jni_bootstrap_count": 0, "parse_error_count": 0, "parse_errors": [], "present": false, "startup_method_count": 0, "startup_methods": [], "synthetic_bootflow_hints": 0 }, "arch": "arm64", "bootflow_discovery": { "activity": [], "activity_count": 0, "bootstrap": [], "bootstrap_count": 0, "deeplink": [], "deeplink_count": 0, "main": [], "main_count": 0, "runapp": [], "runapp_count": 0 }, "call_fallback": { "dispatch_invoke": 256, "dispatch_target_invoke": 7417, "dynamic_call": 0, "generic_invoke": 579 }, "compatibility": { "manifest_entry_present": true, "schema": { "supported": true, "supported_versions": [ 2, 3 ], "version": 3 }, "snapshot_hash_match": true, "snapshot_hash_match_required": false, "status": "ok", "warnings": [] }, "counts": { "classes": 1, "disassembled_functions": 5394, "functions": 5394, "functions_total": 5394, "libraries": 1, "object_pool": 17639 }, "dart_version": "unknown", "engine_fingerprint_context": { "build_id": "66d0e39796ee8d36dc1fe350d14ebf0aa73cd03c", "candidate_dart_version": null, "candidate_flutter_version": null, "confidence": "medium", "detected": true, "dyn_symbol_count": 456, "error": null, "exec_section_count": 2, "machine": "AArch64", "machine_id": 183, "machine_matches_bundle_arch": true, "source": "filesystem:libflutter.so", "symbol_count": 0 }, "engine_symbol_ingestion": { "applied_target_count": 0, "enabled": false, "error": null, "loaded_paths": [], "manifest_path": null, "match_kind": null }, "extra_symbol_elfs": [], "extra_symbol_map_targets": [], "function_scope": { "app_package_count_total": 1, "app_package_counts_top": [ { "functions": 5394, "package": "app" } ], "app_packages": [], "categories": { "app": 5394, "framework": 0, "stdlib": 0, "unknown": 0 }, "excluded": 0, "excluded_by_app_package": 0, "priority_package_hints": [], "selected": "app-unknown", "total_after_filter": 5394, "total_before_filter": 5394 }, "ghidra_script": { "enabled": false, "path": null, "pool_comment_count": 0, "symbol_count": 0 }, "ida_script": { "enabled": true, "path": "./out/ida_apply_symbols.py", "pool_comment_count": 42216, "symbol_count": 5394 }, "include_nearest_symbol_map": false, "input": "libapp.so", "libapp": "libapp.so", "name_resolution": { "final_quality": { "exact": 0, "external": 0, "heuristic": 0, "placeholder": 5394 }, "merge": { "inserted": 0, "replaced": 0, "replaced_to_exact": 0, "replaced_to_external": 0, "replaced_to_heuristic": 0, "replaced_to_placeholder": 0, "skipped": 0 } }, "pool_metadata": { "total_entries": 17639, "with_library_uri": 0, "with_owner_class": 0, "with_selector": 11274, "with_target_va": 0 }, "pool_semantic_hints": 11274, "pool_target_symbols": 0, "pool_value_hints": 17635, "prioritization": { "enabled": false, "focus": null, "selected": [ { "components": [], "entry_va": 3034336, "function_id": 0, "function_name": "sub_2e4ce0", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3034436, "function_id": 1, "function_name": "sub_2e4d44", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3036516, "function_id": 2, "function_name": "sub_2e5564", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3037616, "function_id": 3, "function_name": "sub_2e59b0", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3037648, "function_id": 4, "function_name": "sub_2e59d0", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3037684, "function_id": 5, "function_name": "sub_2e59f4", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3039592, "function_id": 6, "function_name": "sub_2e6168", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3040104, "function_id": 7, "function_name": "sub_2e6368", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3040212, "function_id": 8, "function_name": "sub_2e63d4", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3040324, "function_id": 9, "function_name": "sub_2e6444", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3040700, "function_id": 10, "function_name": "sub_2e65bc", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3041076, "function_id": 11, "function_name": "sub_2e6734", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3041248, "function_id": 12, "function_name": "sub_2e67e0", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3041468, "function_id": 13, "function_name": "sub_2e68bc", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3041608, "function_id": 14, "function_name": "sub_2e6948", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3042024, "function_id": 15, "function_name": "sub_2e6ae8", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3042420, "function_id": 16, "function_name": "sub_2e6c74", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3043704, "function_id": 17, "function_name": "sub_2e7178", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3044064, "function_id": 18, "function_name": "sub_2e72e0", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3044356, "function_id": 19, "function_name": "sub_2e7404", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3044560, "function_id": 20, "function_name": "sub_2e74d0", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3044668, "function_id": 21, "function_name": "sub_2e753c", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3044828, "function_id": 22, "function_name": "sub_2e75dc", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3047552, "function_id": 23, "function_name": "sub_2e8080", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3047820, "function_id": 24, "function_name": "sub_2e818c", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3048224, "function_id": 25, "function_name": "sub_2e8320", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3048384, "function_id": 26, "function_name": "sub_2e83c0", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3048576, "function_id": 27, "function_name": "sub_2e8480", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3048764, "function_id": 28, "function_name": "sub_2e853c", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3048868, "function_id": 29, "function_name": "sub_2e85a4", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3048884, "function_id": 30, "function_name": "sub_2e85b4", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3048928, "function_id": 31, "function_name": "sub_2e85e0", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3048980, "function_id": 32, "function_name": "sub_2e8614", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3049424, "function_id": 33, "function_name": "sub_2e87d0", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3049888, "function_id": 34, "function_name": "sub_2e89a0", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3050028, "function_id": 35, "function_name": "sub_2e8a2c", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3050408, "function_id": 36, "function_name": "sub_2e8ba8", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3051272, "function_id": 37, "function_name": "sub_2e8f08", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3051484, "function_id": 38, "function_name": "sub_2e8fdc", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3051800, "function_id": 39, "function_name": "sub_2e9118", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3052576, "function_id": 40, "function_name": "sub_2e9420", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3052716, "function_id": 41, "function_name": "sub_2e94ac", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3053088, "function_id": 42, "function_name": "sub_2e9620", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3053336, "function_id": 43, "function_name": "sub_2e9718", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3053800, "function_id": 44, "function_name": "sub_2e98e8", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3054020, "function_id": 45, "function_name": "sub_2e99c4", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3054372, "function_id": 46, "function_name": "sub_2e9b24", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3054616, "function_id": 47, "function_name": "sub_2e9c18", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3055112, "function_id": 48, "function_name": "sub_2e9e08", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3055520, "function_id": 49, "function_name": "sub_2e9fa0", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3055584, "function_id": 50, "function_name": "sub_2e9fe0", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3056080, "function_id": 51, "function_name": "sub_2ea1d0", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3056104, "function_id": 52, "function_name": "sub_2ea1e8", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3056284, "function_id": 53, "function_name": "sub_2ea29c", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3057244, "function_id": 54, "function_name": "sub_2ea65c", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3071456, "function_id": 55, "function_name": "sub_2edde0", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3071560, "function_id": 56, "function_name": "sub_2ede48", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3071724, "function_id": 57, "function_name": "sub_2edeec", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3071812, "function_id": 58, "function_name": "sub_2edf44", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3072892, "function_id": 59, "function_name": "sub_2ee37c", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3073056, "function_id": 60, "function_name": "sub_2ee420", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3073376, "function_id": 61, "function_name": "sub_2ee560", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3073952, "function_id": 62, "function_name": "sub_2ee7a0", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 }, { "components": [], "entry_va": 3074428, "function_id": 63, "function_name": "sub_2ee97c", "library_uri": "package:app/main.dart", "owner_class": "Global", "total_score": 0 } ], "selected_app_like_ratio": 1.0, "selected_bootflow_coverage": { "activity": { "coverage": 0.0, "discovered": 0, "selected": 0 }, "any": { "coverage": 0.0, "discovered": 0, "selected": 0 }, "bootstrap": { "coverage": 0.0, "discovered": 0, "selected": 0 }, "deeplink": { "coverage": 0.0, "discovered": 0, "selected": 0 }, "main": { "coverage": 0.0, "discovered": 0, "selected": 0 }, "runapp": { "coverage": 0.0, "discovered": 0, "selected": 0 } }, "selected_bootflow_hits_top": [], "selected_component_totals_top": [], "selected_count": 5394, "selected_other_app_count": 0, "selected_package_count_total": 1, "selected_package_counts_top": [ { "functions": 64, "package": "app" } ], "selected_preferred_app_count": 64, "selected_preferred_app_ratio": 1.0, "selected_scope_mix": { "app": 64, "framework": 0, "stdlib": 0, "unknown": 0 }, "selected_unknown_library_count": 0 }, "quality": { "block_helper_refs": 0, "disassembled_function_count": 5394, "disassembly_ratio": 1.0, "dispatch_selector_calls": 1132, "failures": [ "placeholder if-count exceeded threshold" ], "function_count": 5394, "indirect_call_ratio": 0.12557602191154899, "indirect_calls": 9674, "loop_backedge_markers": 1, "mode": "strict", "omitted_path_markers": 827, "passed": false, "placeholder_cond_markers": 1618, "placeholder_ifs": 1691, "raw_arg_name_refs": 0, "raw_register_calls": 9674, "raw_register_name_refs": 0, "semantic_direct_calls": 37, "semantic_indirect_calls": 10, "target_va_symbol_calls": 0, "total_calls": 77037, "unresolved_cf": 0 }, "selector_fallback": { "top": [ { "count": 174, "sample": "final t3 = AQaqaq.new(0xa0, (bitField((bitField(objTmp1.f7, 0, 0x20) & 0xff000000), 0, 0x20) >> 0x18), tmp1, bitField(objTmp1.f7, 0, 0x20)); // selector: AQaqaq, heuristic: constru...", "selector": "AQaqaq" }, { "count": 117, "sample": "final t4 = dispatch.iid(t3, null, objTmp1, poolStr10448); // selector: iid, indirect via: dispatchTarget, target: pool[1056 /* \"iid\" */].f7", "selector": "iid" }, { "count": 78, "sample": "final t2 = GestureRecognizerState.new(null, null, (t1.f7), poolStr10568); // selector: GestureRecognizerState, heuristic: constructor-like selector, indirect via: dispatchTarget, t...", "selector": "GestureRecognizerState" }, { "count": 52, "sample": "final t7 = Rect_fromLTRB.new(tmp10, resultTmp9, null, poolStr13328); // selector: Rect_fromLTRB, heuristic: constructor-like selector, indirect via: dispatchTarget, target: pool[13...", "selector": "Rect_fromLTRB" }, { "count": 41, "sample": "final t2 = dispatch.jz(intTmp1, null, null, \"y. MMM d., EEE\" /* pool[2328] */); // selector: jz, indirect via: dispatchTarget, target: pool[2040 /* \"_jz\" */].f7", "selector": "jz" }, { "count": 28, "sample": "final t1 = LoadingUnit.new(tmp7, null, (objTmp1.f23.f15.f7), \"Til baka\" /* pool[6464] */); // selector: LoadingUnit, heuristic: constructor-like selector, indirect via: dispatchTar...", "selector": "LoadingUnit" }, { "count": 19, "sample": "final t3 = dispatch.uBc(null, tmp15, null, pool[18693]); // selector: uBc, indirect via: dispatchTarget, target: pool[11784 /* \"uBc\" */].f7", "selector": "uBc" }, { "count": 14, "sample": "final t1 = dispatch.torstai(null, null, (objTmp1.f7), poolStr8768); // selector: torstai, indirect via: dispatchTarget, target: pool[1192 /* \"GestureRecognizerState.\" */].f7", "selector": "torstai" }, { "count": 12, "sample": "final t3 = dispatch.Gwb(null, tmp5, null, poolStr11776); // selector: Gwb, indirect via: dispatchTarget, target: pool[11784 /* \"uBc\" */].f7", "selector": "Gwb" }, { "count": 12, "sample": "final t2 = dispatch.keyboardAppearance(((sp + ((obj4.f19) - (obj4.f35)) /* sxtw #2 */)).f8, null, ((((sp + ((obj4.f19) - 4) /* sxtw #2 */)).f24).f7), poolStr7703); // selector: key...", "selector": "keyboardAppearance" } ], "total": 1132, "unique": 232 }, "semantic_intent": { "constructor_calls": 2, "framework": 7, "native": 0, "runtime": 0, "selector_tagged": 12, "stdlib": 5 }, "semantic_rewrite": { "direct": 37, "dispatch_fallback": 1132, "indirect": 10, "indirect_ratio": 0.1180483770932396, "ratio": 0.015304334280929944, "target_va_symbol": 0, "total": 1179 }, "snapshot_hash": "adf563436d12ba0d50ea5beb7f3be1bb", "standard_model_symbols": 0, "symbol_merge": { "inserted": 0, "replaced_generic": 0, "skipped": 0 }, "target_selection": { "enabled": false, "kind": null, "matched_count": 0, "scope_overridden": false, "selector": null, "value": null } }Expected Behavior
The Process Done without Error
Reproduction
Additional Context
vscode@codespaces-879efa:/workspaces/156587835$ flutterdec info libapp.so
input: libapp.so
libapp: libapp.so
arch: arm64
snapshot hash: adf563436d12ba0d50ea5beb7f3be1bb
adapter installed: true
adapter kind: dynamic_snapshot_string_model_v1
manifest entry present: true
adapter snapshot hash match: true
functions: 5394
android startup present: false
android startup confidence: none
android startup entrypoints: 0
android startup flutter activities: 0
app packages: 1