{"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":"metacan-v3-hybrid-931329e0061c","candidate_categories":[],"consensus_categories":[],"category_scores_codex":[0.002256099,0.0008659295,0.0004951065,0.001497703,0.0006130356,0.00197818,0.00141877,0.001004825,0.002252192],"category_scores_gemma":[0.008075135,0.0008335134,0.001559643,0.0009138533,0.001016233,0.002052644,0.002169813,0.002067033,0.001739885],"about_ca_system_candidate":false,"about_ca_system_consensus":false,"about_ca_system_score_codex":0.0003957302,"about_ca_system_score_gemma":0.001836429,"about_ca_topic_candidate":false,"about_ca_topic_consensus":false,"about_ca_topic_score_codex":0.002048435,"about_ca_topic_score_gemma":0.003317387,"domain_scores_codex":[0.9980549,0.0003215897,0.000140444,0.0001707443,0.001080064,0.000232323],"domain_scores_gemma":[0.9932896,0.001873265,0.0004655865,0.00292861,0.001357066,0.0000858308],"domain_codex":null,"domain_gemma":null,"domain_candidate":null,"domain_consensus":null,"study_design_codex":"design_other","study_design_gemma":"bench_or_experimental","study_design_scores_codex":[0.0003964919,0.0004851533,0.008056482,0.001216193,0.0002610816,0.00201122,0.001488396,0.04051544,0.1654929,0.1236418,0.00712194,0.6493129],"study_design_scores_gemma":[0.0002029533,0.0004766564,0.003154883,0.000385259,0.0007270853,0.002415836,0.0007301726,0.3439617,0.4638258,0.105611,0.07838245,0.0001261166],"study_design_candidate":"bench_or_experimental","study_design_consensus":null,"genre_codex":"methods","genre_gemma":"methods","genre_scores_codex":[0.07411077,0.0003265605,0.9128574,0.0002037945,0.0001692669,0.0003479742,0.0001274691,0.00565941,0.006197371],"genre_scores_gemma":[0.2867732,0.000750062,0.6956053,0.0002093462,0.00004473851,0.0002240333,0.001092978,0.002812557,0.01248782],"genre_candidate":"methods","genre_consensus":"methods","teacher_disagreement_score":0.002256099,"threshold_uncertainty_score":0.01193154,"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."}}