{"id":"W2469414321","doi":"10.1016/j.jss.2016.06.101","title":"Reverse engineering reusable software components from object-oriented APIs","year":2016,"lang":"en","type":"article","venue":"Journal of Systems and Software","topic":"Software Engineering Research","field":"Computer Science","cited_by":52,"is_retracted":false,"has_abstract":false,"ca_institutions":"Université de Montréal; Université du Québec à Montréal","funders":"","keywords":"Computer science; Reuse; Component-based software engineering; Software engineering; Component (thermodynamics); Object-oriented programming; Java; Software; Application programming interface; Software development; Programming language; Engineering","routes":{"ca_aff":true,"ca_fund":false,"ca_venue":false,"about_ca":false,"invisible_to_affiliation_only":false},"retraction":null,"screen":null,"direct_labels":[],"prediction":{"model_version":"codex-gemma-dda1882f352a","candidate_categories":[],"consensus_categories":[],"category_scores_codex":[0.0006210571,0.0002107375,0.0004425026,0.0002806499,0.00009063661,0.0001695086,0.0007030853,0.0001203379,0.00001658756],"category_scores_gemma":[0.002088906,0.0001445612,0.0001092443,0.0002972021,0.00003108973,0.0008239491,0.0002525087,0.0002609386,0.00003305729],"about_ca_system_candidate":false,"about_ca_system_consensus":false,"about_ca_system_score_codex":0.0001686289,"about_ca_system_score_gemma":0.00008685284,"about_ca_topic_candidate":false,"about_ca_topic_consensus":false,"about_ca_topic_score_codex":0.00013242,"about_ca_topic_score_gemma":0.000001034886,"domain_scores_codex":[0.9979683,0.00006505557,0.0005794042,0.000288951,0.0007109994,0.000387244],"domain_scores_gemma":[0.9971566,0.001350692,0.0002686762,0.0005096949,0.000389683,0.0003246674],"domain_codex":null,"domain_gemma":null,"domain_candidate":null,"domain_consensus":null,"study_design_codex":"observational","study_design_gemma":"observational","study_design_scores_codex":[0.0002399402,0.0004519407,0.8171128,0.001433707,0.001507787,0.003035026,0.004245764,0.005852077,0.04995059,0.002270677,0.0500627,0.06383698],"study_design_scores_gemma":[0.01987856,0.002740826,0.5710877,0.02537649,0.0002424936,0.005510876,0.0005891461,0.01990017,0.008961381,0.001464058,0.3395091,0.004739272],"study_design_candidate":"observational","study_design_consensus":"observational","genre_codex":"methods","genre_gemma":"empirical","genre_scores_codex":[0.2562469,0.001525106,0.740101,0.0001453368,0.001657721,0.0001184298,0.00002093703,0.0001817315,0.000002811144],"genre_scores_gemma":[0.8928756,0.0002308128,0.1057627,0.00003632003,0.0005482165,0.000009688595,0.000002088053,0.00004827581,0.0004862821],"genre_candidate":"empirical","genre_consensus":null,"teacher_disagreement_score":0.6366287,"threshold_uncertainty_score":0.5895036,"prediction_status":"machine_predicted_unvalidated"},"machine_scores":{"provisional":true,"baseline":true,"maturity_gate_passed":false,"score_opus":0.01466462773174235,"score_gpt":0.2220048776613016,"score_spread":0.2073402499295593,"validation_status":"score_only:v0-immature-baseline","note":"Baseline scores from an immature model (maturity gate not passed). Scores rank; they never assert a category."}}