{:highlights [{:id #uuid "635c7f2e-17d0-40bd-a1e2-2b24146b7c76", :page 1, :position {:bounding {:x1 359.0570373535156, :y1 296.0212211608887, :x2 432.94989013671875, :y2 314.6437797546387, :width 1142.3999999999999, :height 1478.3999999999999}, :rects ({:x1 359.0570373535156, :y1 296.0212211608887, :x2 432.94989013671875, :y2 314.6437797546387, :width 1142.3999999999999, :height 1478.3999999999999}), :page 1}, :content {:text "customize "}, :properties {:color "yellow"}} {:id #uuid "635c7f32-3505-433d-84a3-561ee5f649c9", :page 1, :position {:bounding {:x1 275.747802734375, :y1 314.6152458190918, :x2 386.93316650390625, :y2 333.2378349304199, :width 1142.3999999999999, :height 1478.3999999999999}, :rects ({:x1 275.747802734375, :y1 314.6152458190918, :x2 386.93316650390625, :y2 333.2378349304199, :width 1142.3999999999999, :height 1478.3999999999999}), :page 1}, :content {:text "recommended "}, :properties {:color "yellow"}} {:id #uuid "635c7f37-6737-4363-b49d-02a826f81ba6", :page 1, :position {:bounding {:x1 233.61827087402344, :y1 333.2150077819824, :x2 373.21832275390625, :y2 351.8375663757324, :width 1142.3999999999999, :height 1478.3999999999999}, :rects ({:x1 233.61827087402344, :y1 333.2150077819824, :x2 373.21832275390625, :y2 351.8375663757324, :width 1142.3999999999999, :height 1478.3999999999999}), :page 1}, :content {:text "o meet some needs"}, :properties {:color "yellow"}} {:id #uuid "635c7f46-8d3c-4c57-ad3a-baf47dacc6d6", :page 1, :position {:bounding {:x1 125.02801513671875, :y1 370.40879821777344, :x2 557.342529296875, :y2 389.03135681152344, :width 1142.3999999999999, :height 1478.3999999999999}, :rects ({:x1 125.02801513671875, :y1 370.40879821777344, :x2 557.342529296875, :y2 389.03135681152344, :width 1142.3999999999999, :height 1478.3999999999999}), :page 1}, :content {:text "one of the most important code alternatives is API usage"}, :properties {:color "purple"}} {:id #uuid "635c7fc4-6805-43cb-89ee-9932e7d4b763", :page 1, :position {:bounding {:x1 0, :y1 206.1490707397461, :x2 680.0694847106934, :y2 652.9480209350586, :width 1387.2, :height 1795.2}, :rects ({:x1 0, :y1 206.1490707397461, :x2 0, :y2 225.50194549560547, :width 1387.2, :height 1795.2} {:x1 155.55080795288086, :y1 607.7267074584961, :x2 680.0694847106934, :y2 630.3658676147461, :width 1387.2, :height 1795.2} {:x1 110.98228073120117, :y1 630.3088607788086, :x2 267.95075607299805, :y2 652.9480209350586, :width 1387.2, :height 1795.2}), :page 1}, :content {:text "cloze-style fill-in-blank task and leverage code pre-trained models to solve it."}, :properties {:color "purple"}} {:id #uuid "635c7fcd-0591-4b04-b415-b23673cd1b26", :page 1, :position {:bounding {:x1 548.891544342041, :y1 630.308837890625, :x2 627.3785438537598, :y2 652.9480285644531, :width 1387.2, :height 1795.2}, :rects ({:x1 548.891544342041, :y1 630.308837890625, :x2 627.3785438537598, :y2 652.9480285644531, :width 1387.2, :height 1795.2}), :page 1}, :content {:text "REALAU"}, :properties {:color "purple"}} {:id #uuid "635c8008-b483-4d0e-bf47-7b57d05df25d", :page 1, :position {:bounding {:x1 0, :y1 270.1413116455078, :x2 680.0769386291504, :y2 788.4351806640625, :width 1387.2, :height 1795.2}, :rects ({:x1 0, :y1 270.1413116455078, :x2 0, :y2 289.4941749572754, :width 1387.2, :height 1795.2} {:x1 0, :y1 286.1393737792969, :x2 0, :y2 305.49223709106445, :width 1387.2, :height 1795.2} {:x1 0, :y1 302.13743591308594, :x2 0, :y2 321.4902992248535, :width 1387.2, :height 1795.2} {:x1 490.12695693969727, :y1 698.049560546875, :x2 680.0603675842285, :y2 720.6887512207031, :width 1387.2, :height 1795.2} {:x1 110.25198745727539, :y1 720.6373901367188, :x2 680.0769386291504, :y2 743.276611328125, :width 1387.2, :height 1795.2} {:x1 110.98228073120117, :y1 743.2195434570312, :x2 680.0682792663574, :y2 765.8587341308594, :width 1387.2, :height 1795.2} {:x1 110.25198745727539, :y1 765.7959899902344, :x2 282.9283332824707, :y2 788.4351806640625, :width 1387.2, :height 1795.2}), :page 1}, :content {:text "We evaluate REALAU with large amounts of Java code snippets in the CodeSearchNet dataset, the results show that REALAU can accurately predict API usages in code."}, :properties {:color "yellow"}} {:id #uuid "635cc75e-2558-4bae-9487-e8cec12bc58e", :page 1, :position {:bounding {:x1 0, :y1 414.1239013671875, :x2 678.9274711608887, :y2 1005.0480651855469, :width 1387.2, :height 1795.2}, :rects ({:x1 0, :y1 414.1239013671875, :x2 0, :y2 433.4767608642578, :width 1387.2, :height 1795.2} {:x1 110.98228073120117, :y1 952.751953125, :x2 678.9274711608887, :y2 977.9472045898438, :width 1387.2, :height 1795.2} {:x1 110.98228073120117, :y1 979.8528137207031, :x2 258.4557914733887, :y2 1005.0480651855469, :width 1387.2, :height 1795.2}), :page 1}, :content {:text "Stack Overflow or recommended by AI pair programming tools such as Copilot"}, :properties {:color "purple"}} {:id #uuid "635cc76d-330f-4b8c-bf1c-f76ea2f3ebcb", :page 1, :position {:bounding {:x1 0, :y1 478.1161422729492, :x2 680.0754203796387, :y2 1140.5352172851562, :width 1387.2, :height 1795.2}, :rects ({:x1 0, :y1 478.1161422729492, :x2 0, :y2 497.46900177001953, :width 1387.2, :height 1795.2} {:x1 0, :y1 494.1142044067383, :x2 0, :y2 513.4670639038086, :width 1387.2, :height 1795.2} {:x1 505.57264709472656, :y1 1061.1439819335938, :x2 679.6433258056641, :y2 1086.3392028808594, :width 1387.2, :height 1795.2} {:x1 110.98228073120117, :y1 1088.2448120117188, :x2 680.0754203796387, :y2 1113.4400634765625, :width 1387.2, :height 1795.2} {:x1 110.98228073120117, :y1 1115.3399658203125, :x2 607.2539176940918, :y2 1140.5352172851562, :width 1387.2, :height 1795.2}), :page 1}, :content {:text "o be aware of the customization and know how to customize, developers often need code alternatives for reference and comparison"}, :properties {:color "purple"}} {:id #uuid "635cc7a5-e98c-4e6a-a6a3-e5b710c3056b", :page 1, :position {:bounding {:x1 0, :y1 542.1083679199219, :x2 680.0616760253906, :y2 1248.9328918457031, :width 1387.2, :height 1795.2}, :rects ({:x1 0, :y1 542.1083679199219, :x2 0, :y2 561.4612274169922, :width 1387.2, :height 1795.2} {:x1 0, :y1 558.1064300537109, :x2 0, :y2 577.4592895507812, :width 1387.2, :height 1795.2} {:x1 215.48696899414062, :y1 1169.5416564941406, :x2 680.0616760253906, :y2 1194.7369079589844, :width 1387.2, :height 1795.2} {:x1 110.98228073120117, :y1 1196.6368103027344, :x2 680.0551300048828, :y2 1221.83203125, :width 1387.2, :height 1795.2} {:x1 110.98228073120117, :y1 1223.7376708984375, :x2 191.7698631286621, :y2 1248.9328918457031, :width 1387.2, :height 1795.2}), :page 1}, :content {:text "more than half Stack Overflow code snippets involve changing a method call when reused and adapted in GitHub projects."}, :properties {:color "purple"}} {:id #uuid "635cc7b1-c42f-4854-83e4-ccfb6fc18088", :page 1, :position {:bounding {:x1 110.16640090942383, :y1 1250.8328247070312, :x2 624.2652168273926, :y2 1276.0280456542969, :width 1387.2, :height 1795.2}, :rects ({:x1 110.16640090942383, :y1 1250.8328247070312, :x2 624.2652168273926, :y2 1276.0280456542969, :width 1387.2, :height 1795.2}), :page 1}, :content {:text "API usages that are API calls with actual arguments"}, :properties {:color "purple"}} {:id #uuid "635cc842-07c4-4232-b269-6a228a14a6bf", :page 1, :position {:bounding {:x1 0, :y1 670.0928344726562, :x2 682.8957366943359, :y2 1574.9989624023438, :width 1387.2, :height 1795.2}, :rects ({:x1 0, :y1 670.0928344726562, :x2 0, :y2 689.4457092285156, :width 1387.2, :height 1795.2} {:x1 0, :y1 686.0909118652344, :x2 0, :y2 705.4437561035156, :width 1387.2, :height 1795.2} {:x1 0, :y1 702.0889587402344, :x2 0, :y2 721.4418334960938, :width 1387.2, :height 1795.2} {:x1 0, :y1 718.0870361328125, :x2 0, :y2 737.4398803710938, :width 1387.2, :height 1795.2} {:x1 0, :y1 734.0850830078125, :x2 0, :y2 753.4379577636719, :width 1387.2, :height 1795.2} {:x1 0, :y1 750.0831604003906, :x2 0, :y2 769.4360046386719, :width 1387.2, :height 1795.2} {:x1 631.9960021972656, :y1 1387.2156982421875, :x2 680.4618835449219, :y2 1412.4109497070312, :width 1387.2, :height 1795.2} {:x1 110.98228454589844, :y1 1414.3108520507812, :x2 682.8801727294922, :y2 1439.506103515625, :width 1387.2, :height 1795.2} {:x1 110.98228454589844, :y1 1441.4117126464844, :x2 680.0695648193359, :y2 1466.60693359375, :width 1387.2, :height 1795.2} {:x1 110.98228454589844, :y1 1468.5125732421875, :x2 679.6710052490234, :y2 1493.7077941894531, :width 1387.2, :height 1795.2} {:x1 110.98228454589844, :y1 1495.6077270507812, :x2 682.8957366943359, :y2 1520.8029479980469, :width 1387.2, :height 1795.2} {:x1 110.98228454589844, :y1 1522.7085571289062, :x2 680.0729217529297, :y2 1547.90380859375, :width 1387.2, :height 1795.2} {:x1 110.98228454589844, :y1 1549.8037109375, :x2 633.2435760498047, :y2 1574.9989624023438, :width 1387.2, :height 1795.2}), :page 1}, :content {:text "They match the code snippets in a clone set with each other, using the common part as a code template and different parts as customizable points and code alternatives. These approaches rely heavily on matching-based clone-diff analysis, so cannot harvest code alternatives among the code that are not clones but are contextually similar to each other"}, :properties {:color "purple"}} {:id #uuid "635cc87a-299e-43db-8b3d-e5a47774b34f", :page 1, :position {:bounding {:x1 0, :y1 438.7714080810547, :x2 1276.2239379882812, :y2 881.4225158691406, :width 1387.2, :height 1795.2}, :rects ({:x1 707.149772644043, :y1 438.7714080810547, :x2 1276.2239379882812, :y2 463.9666442871094, :width 1387.2, :height 1795.2} {:x1 707.149772644043, :y1 465.8722686767578, :x2 1190.4680099487305, :y2 491.0675048828125, :width 1387.2, :height 1795.2} {:x1 0, :y1 862.0696716308594, :x2 0, :y2 881.4225158691406, :width 1387.2, :height 1795.2}), :page 1}, :content {:text "there are some existing approaches [ 7], [8], [9], [10 ] proposed to recommend API usages based on code context."}, :properties {:color "purple"}} {:id #uuid "635cc902-1873-4718-ba7a-166963a95b0b", :page 1, :position {:bounding {:x1 0, :y1 693.4224548339844, :x2 1200.0942993164062, :y2 1057.4012145996094, :width 1305.6, :height 1689.6}, :rects ({:x1 901.1620788574219, :y1 693.4224548339844, :x2 1200.0942993164062, :y2 717.1571044921875, :width 1305.6, :height 1689.6} {:x1 665.5513458251953, :y1 718.92578125, :x2 778.6850280761719, :y2 742.6604309082031, :width 1305.6, :height 1689.6} {:x1 0, :y1 1038.0483703613281, :x2 0, :y2 1057.4012145996094, :width 1305.6, :height 1689.6}), :page 1}, :content {:text "ternative API usages based on the code context"}, :properties {:color "purple"}} {:id #uuid "635cc96c-aed8-4197-94b1-85a1801eba5b", :page 1, :position {:bounding {:x1 0, :y1 899.4459838867188, :x2 1276.2448272705078, :y2 1201.3837585449219, :width 1387.2, :height 1795.2}, :rects ({:x1 1167.747314453125, :y1 899.4459838867188, :x2 1276.2305908203125, :y2 924.6412353515625, :width 1387.2, :height 1795.2} {:x1 707.1497344970703, :y1 926.5411376953125, :x2 1276.2448272705078, :y2 951.7363891601562, :width 1387.2, :height 1795.2} {:x1 707.1497344970703, :y1 953.6419982910156, :x2 1275.1126861572266, :y2 978.8372497558594, :width 1387.2, :height 1795.2} {:x1 707.1497344970703, :y1 980.7371520996094, :x2 1275.0752716064453, :y2 1005.9324035644531, :width 1387.2, :height 1795.2} {:x1 707.1497344970703, :y1 1007.8379821777344, :x2 857.1015319824219, :y2 1033.0332336425781, :width 1387.2, :height 1795.2} {:x1 0, :y1 1134.0367126464844, :x2 0, :y2 1153.3895568847656, :width 1387.2, :height 1795.2} {:x1 0, :y1 1150.0347595214844, :x2 0, :y2 1169.3876037597656, :width 1387.2, :height 1795.2} {:x1 0, :y1 1166.0328063964844, :x2 0, :y2 1185.3857116699219, :width 1387.2, :height 1795.2} {:x1 0, :y1 1182.0309143066406, :x2 0, :y2 1201.3837585449219, :width 1387.2, :height 1795.2}), :page 1}, :content {:text "First, during pre-training the models have seen a large variant of code and likely learned the latent relevance between different API usages and code contexts, so can predict suitable API usages based on code context."}, :properties {:color "purple"}} {:id #uuid "635cc978-e31d-4dd6-b3f0-2c5ba4214664", :page 1, :position {:bounding {:x1 0, :y1 1007.8379821777344, :x2 1276.2324829101562, :y2 1249.3779602050781, :width 1387.2, :height 1795.2}, :rects ({:x1 862.7756042480469, :y1 1007.8379821777344, :x2 1276.2324829101562, :y2 1033.0332336425781, :width 1387.2, :height 1795.2} {:x1 707.1497344970703, :y1 1034.9331359863281, :x2 1276.2284698486328, :y2 1060.1283874511719, :width 1387.2, :height 1795.2} {:x1 707.1497344970703, :y1 1062.0340270996094, :x2 1276.2197265625, :y2 1087.2292785644531, :width 1387.2, :height 1795.2} {:x1 707.1497344970703, :y1 1089.1291809082031, :x2 858.2662353515625, :y2 1114.3243713378906, :width 1387.2, :height 1795.2} {:x1 0, :y1 1198.0289611816406, :x2 0, :y2 1217.3818054199219, :width 1387.2, :height 1795.2} {:x1 0, :y1 1214.0270080566406, :x2 0, :y2 1233.3798522949219, :width 1387.2, :height 1795.2} {:x1 0, :y1 1230.0250549316406, :x2 0, :y2 1249.3779602050781, :width 1387.2, :height 1795.2}), :page 1}, :content {:text "Second, because of the pre-training tasks like masked token/span prediction, some pre-trained models such as CodeBERT [ 11 ] and CodeT5 [14] can be naturally applied to cloze-style tasks"}, :properties {:color "purple"}} {:id #uuid "635cc9cd-c561-44ae-9c50-70c1a2f32e88", :page 1, :position {:bounding {:x1 0, :y1 1360.1148681640625, :x2 1276.2421264648438, :y2 1441.3546752929688, :width 1387.2, :height 1795.2}, :rects ({:x1 1048.760009765625, :y1 1360.1148681640625, :x2 1276.2421264648438, :y2 1385.3101196289062, :width 1387.2, :height 1795.2} {:x1 706.333854675293, :y1 1387.2157287597656, :x2 1274.9783248901367, :y2 1412.4109802246094, :width 1387.2, :height 1795.2} {:x1 0, :y1 1406.0037536621094, :x2 0, :y2 1425.3566284179688, :width 1387.2, :height 1795.2} {:x1 707.1497344970703, :y1 1414.3108825683594, :x2 905.7673645019531, :y2 1439.506103515625, :width 1387.2, :height 1795.2} {:x1 0, :y1 1422.0018310546875, :x2 0, :y2 1441.3546752929688, :width 1387.2, :height 1795.2}), :page 1}, :content {:text " REALAU first extracts APIs and API usages from a code corpus to construct an alternative repository"}, :properties {:color "purple"}} {:id #uuid "635cca37-c918-4a3f-8efa-d2da00590b08", :page 1, :position {:bounding {:x1 1118.2098999023438, :y1 1441.4117431640625, :x2 1268.8932495117188, :y2 1466.6069946289062, :width 1387.2, :height 1795.2}, :rects ({:x1 1118.2098999023438, :y1 1441.4117431640625, :x2 1268.8932495117188, :y2 1466.6069946289062, :width 1387.2, :height 1795.2}), :page 1}, :content {:text "PI usage retrieve"}, :properties {:color "green"}} {:id #uuid "635cca3c-97ac-4f65-9de2-0e688a88e623", :page 1, :position {:bounding {:x1 775.1430969238281, :y1 1468.5125732421875, :x2 952.5405883789062, :y2 1493.7078247070312, :width 1387.2, :height 1795.2}, :rects ({:x1 775.1430969238281, :y1 1468.5125732421875, :x2 952.5405883789062, :y2 1493.7078247070312, :width 1387.2, :height 1795.2}), :page 1}, :content {:text "API usage reranker"}, :properties {:color "green"}} {:id #uuid "635cca69-a43b-407f-b254-f8a549ea21b0", :page 1, :position {:bounding {:x1 931.0596618652344, :y1 1495.6078186035156, :x2 1218.0674438476562, :y2 1520.8030395507812, :width 1387.2, :height 1795.2}, :rects ({:x1 931.0596618652344, :y1 1495.6078186035156, :x2 1218.0674438476562, :y2 1520.8030395507812, :width 1387.2, :height 1795.2}), :page 1}, :content {:text "etriever can ensure the diversity"}, :properties {:color "green"}} {:id #uuid "635cca7e-5e56-44a4-a8f3-9e5de039edbd", :page 1, :position {:bounding {:x1 0, :y1 1501.9921875, :x2 1275.1159057617188, :y2 1574.9990234375, :width 1387.2, :height 1795.2}, :rects ({:x1 0, :y1 1501.9921875, :x2 0, :y2 1521.3450622558594, :width 1387.2, :height 1795.2} {:x1 1001.975830078125, :y1 1522.7086486816406, :x2 1275.1159057617188, :y2 1547.9039001464844, :width 1387.2, :height 1795.2} {:x1 707.1497344970703, :y1 1549.8038024902344, :x2 1005.3805541992188, :y2 1574.9990234375, :width 1387.2, :height 1795.2}), :page 1}, :content {:text "eranker can assess the fitness for arbitrary-length API usages"}, :properties {:color "green"}} {:id #uuid "635ccb19-5e60-4a04-bed6-353b6c141059", :page 2, :position {:bounding {:x1 0, :y1 126.15876388549805, :x2 680.0723114013672, :y2 464.10927963256836, :width 1387.2, :height 1795.2}, :rects ({:x1 0, :y1 126.15876388549805, :x2 0, :y2 145.51162338256836, :width 1387.2, :height 1795.2} {:x1 0, :y1 142.1568260192871, :x2 0, :y2 161.50968551635742, :width 1387.2, :height 1795.2} {:x1 0, :y1 158.15488815307617, :x2 0, :y2 177.50774765014648, :width 1387.2, :height 1795.2} {:x1 0, :y1 174.15295028686523, :x2 0, :y2 193.50580978393555, :width 1387.2, :height 1795.2} {:x1 295.2769775390625, :y1 330.522029876709, :x2 680.0665283203125, :y2 355.71728134155273, :width 1387.2, :height 1795.2} {:x1 110.98228454589844, :y1 357.61718368530273, :x2 680.0597381591797, :y2 382.81240463256836, :width 1387.2, :height 1795.2} {:x1 110.98228454589844, :y1 384.71804428100586, :x2 680.0599212646484, :y2 409.9132652282715, :width 1387.2, :height 1795.2} {:x1 110.98228454589844, :y1 411.8131980895996, :x2 680.0723114013672, :y2 437.00841903686523, :width 1387.2, :height 1795.2} {:x1 110.98228454589844, :y1 438.9140281677246, :x2 346.8459167480469, :y2 464.10927963256836, :width 1387.2, :height 1795.2}), :page 2}, :content {:text "Second, the user study with 14 participants reveals that REALAU can significantly improve the correctness by 35.7%, decrease the completion time by 54.2%, and provide370.7% more suggestive information than the baseline on 6 code customization tasks"}, :properties {:color "green"}} {:id #uuid "635ccb39-1d76-438e-8c98-a26eed0879f3", :page 2, :position {:bounding {:x1 0, :y1 286.13939094543457, :x2 680.4597396850586, :y2 705.3297119140625, :width 1387.2, :height 1795.2}, :rects ({:x1 0, :y1 286.13939094543457, :x2 0, :y2 305.49225425720215, :width 1387.2, :height 1795.2} {:x1 0, :y1 302.13745307922363, :x2 0, :y2 321.49031829833984, :width 1387.2, :height 1795.2} {:x1 380.0777282714844, :y1 625.9327697753906, :x2 680.0703125, :y2 651.1279907226562, :width 1387.2, :height 1795.2} {:x1 110.1664047241211, :y1 653.0336303710938, :x2 680.4597396850586, :y2 678.2288513183594, :width 1387.2, :height 1795.2} {:x1 110.98228454589844, :y1 680.1344909667969, :x2 569.7425384521484, :y2 705.3297119140625, :width 1387.2, :height 1795.2}), :page 2}, :content {:text "eveloper needs to customize it when having other concerns such as security, performance, or maintenance status of the used libraries and APIs"}, :properties {:color "green"}} {:id #uuid "635ccb82-b733-4a3b-bc2c-02924546b428", :page 2, :position {:bounding {:x1 0, :y1 734.0851593017578, :x2 680.0734052658081, :y2 1330.9714965820312, :width 1387.2, :height 1795.2}, :rects ({:x1 0, :y1 734.0851593017578, :x2 0, :y2 753.4380226135254, :width 1387.2, :height 1795.2} {:x1 0, :y1 750.0832214355469, :x2 0, :y2 769.4360847473145, :width 1387.2, :height 1795.2} {:x1 533.7359952926636, :y1 1251.5802612304688, :x2 678.8141813278198, :y2 1276.7755126953125, :width 1387.2, :height 1795.2} {:x1 110.98227977752686, :y1 1278.6754150390625, :x2 680.0734052658081, :y2 1303.8706665039062, :width 1387.2, :height 1795.2} {:x1 110.98227977752686, :y1 1305.7762756347656, :x2 353.23920726776123, :y2 1330.9714965820312, :width 1387.2, :height 1795.2}), :page 2}, :content {:text "alternative API usages to assess the code quality and customize the current code to meet their needs"}, :properties {:color "green"}} {:id #uuid "635cceae-3f24-4280-9904-52088c39e423", :page 2, :position {:bounding {:x1 0, :y1 357.81686770915985, :x2 1279.0630722045898, :y2 1121.3934668302536, :width 1387.2, :height 1795.2}, :rects ({:x1 877.2891235351562, :y1 357.81686770915985, :x2 1274.9990844726562, :y2 383.0121191740036, :width 1387.2, :height 1795.2} {:x1 706.3338851928711, :y1 384.917728304863, :x2 1279.0630722045898, :y2 410.1129492521286, :width 1387.2, :height 1795.2} {:x1 0, :y1 1102.040561556816, :x2 0, :y2 1121.3934668302536, :width 1387.2, :height 1795.2}), :page 2}, :content {:text "ome alternative APIs are not compatible with the current code (e.g., inconsistent type of return value),"}, :properties {:color "purple"}} {:id #uuid "635cf3eb-f98e-4058-8741-5967a73d9931", :page 2, :position {:bounding {:x1 748.2829895019531, :y1 538.565299987793, :x2 1030.0700988769531, :y2 563.7605361938477, :width 1387.2, :height 1795.2}, :rects ({:x1 748.2829895019531, :y1 538.565299987793, :x2 1030.0700988769531, :y2 563.7605361938477, :width 1387.2, :height 1795.2}), :page 2}, :content {:text "esults of Different Approaches"}, :properties {:color "green"}} {:id #uuid "635cf3f3-0eb8-4914-9bed-9652e4170709", :page 2, :position {:bounding {:x1 729.7262115478516, :y1 682.7133636474609, :x2 1015.2584991455078, :y2 707.9085998535156, :width 1387.2, :height 1795.2}, :rects ({:x1 729.7262115478516, :y1 682.7133636474609, :x2 1015.2584991455078, :y2 707.9085998535156, :width 1387.2, :height 1795.2}), :page 2}, :content {:text "Clone-Diff Based Approaches."}, :properties {:color "green"}} {:id #uuid "635cf433-bf46-4e2e-924e-634c3eebdcc7", :page 2, :position {:bounding {:x1 0, :y1 764.0101928710938, :x2 1276.2402114868164, :y2 1345.3663330078125, :width 1387.2, :height 1795.2}, :rects ({:x1 707.1497573852539, :y1 764.0101928710938, :x2 1276.2402114868164, :y2 789.2054290771484, :width 1387.2, :height 1795.2} {:x1 707.1497573852539, :y1 791.1053466796875, :x2 1124.0571975708008, :y2 816.3005981445312, :width 1387.2, :height 1795.2} {:x1 0, :y1 1326.0134887695312, :x2 0, :y2 1345.3663330078125, :width 1387.2, :height 1795.2}), :page 2}, :content {:text "ExampleStack identifies 11 customizable points in the code based on 10 clones of it found in GitHub. "}, :properties {:color "green"}} {:id #uuid "635cf44a-8bd3-4817-94f0-dfa5dffc9333", :page 2, :position {:bounding {:x1 0, :y1 845.3013610839844, :x2 1276.2295532226562, :y2 1393.3605346679688, :width 1387.2, :height 1795.2}, :rects ({:x1 707.1497573852539, :y1 845.3013610839844, :x2 1276.2295532226562, :y2 870.49658203125, :width 1387.2, :height 1795.2} {:x1 707.1497573852539, :y1 872.4022216796875, :x2 860.2599487304688, :y2 897.5974426269531, :width 1387.2, :height 1795.2} {:x1 0, :y1 1374.0076293945312, :x2 0, :y2 1393.3605346679688, :width 1387.2, :height 1795.2}), :page 2}, :content {:text "different kinds of code alternatives such as Exception Handling and Refactoring"}, :properties {:color "green"}} {:id #uuid "635cf48e-38e4-4cf3-8ea5-a24e2d2d7080", :page 2, :position {:bounding {:x1 0, :y1 1116.2870788574219, :x2 1276.2310180664062, :y2 1553.3411254882812, :width 1387.2, :height 1795.2}, :rects ({:x1 893.5253601074219, :y1 1116.2870788574219, :x2 1276.2310180664062, :y2 1141.4822998046875, :width 1387.2, :height 1795.2} {:x1 707.1497573852539, :y1 1143.3879089355469, :x2 1037.584602355957, :y2 1168.5831298828125, :width 1387.2, :height 1795.2} {:x1 0, :y1 1533.98828125, :x2 0, :y2 1553.3411254882812, :width 1387.2, :height 1795.2}), :page 2}, :content {:text " ExampleStack fails to find more alternative digest algorithms besides “SHA-1”."}, :properties {:color "purple"}} {:id #uuid "635cf498-bb73-4028-993f-f0b99784d575", :page 2, :position {:bounding {:x1 0, :y1 1197.92626953125, :x2 1279.9957885742188, :y2 1601.3353271484375, :width 1387.2, :height 1795.2}, :rects ({:x1 990.4752197265625, :y1 1197.92626953125, :x2 1279.9957885742188, :y2 1223.1214904785156, :width 1387.2, :height 1795.2} {:x1 707.1497573852539, :y1 1225.0271301269531, :x2 979.4082717895508, :y2 1250.2223510742188, :width 1387.2, :height 1795.2} {:x1 0, :y1 1581.9824829101562, :x2 0, :y2 1601.3353271484375, :width 1387.2, :height 1795.2}), :page 2}, :content {:text " much richer such code alternatives than ExampleStack"}, :properties {:color "yellow"}} {:id #uuid "635cf59c-58cc-4a53-805c-5e891126a06f", :page 2, :position {:bounding {:x1 0, :y1 1252.1222915649414, :x2 1276.2399215698242, :y2 1665.3275756835938, :width 1387.2, :height 1795.2}, :rects ({:x1 1142.6982421875, :y1 1252.1222915649414, :x2 1276.2313842773438, :y2 1277.3175201416016, :width 1387.2, :height 1795.2} {:x1 707.149772644043, :y1 1279.22314453125, :x2 1276.2289428710938, :y2 1304.4183807373047, :width 1387.2, :height 1795.2} {:x1 707.149772644043, :y1 1306.3182983398438, :x2 1276.2399215698242, :y2 1331.5135345458984, :width 1387.2, :height 1795.2} {:x1 707.149772644043, :y1 1333.4191436767578, :x2 1255.0263671875, :y2 1358.6143798828125, :width 1387.2, :height 1795.2} {:x1 0, :y1 1613.9786071777344, :x2 0, :y2 1633.3314819335938, :width 1387.2, :height 1795.2} {:x1 0, :y1 1629.9766845703125, :x2 0, :y2 1649.3295288085938, :width 1387.2, :height 1795.2} {:x1 0, :y1 1645.9747314453125, :x2 0, :y2 1665.3275756835938, :width 1387.2, :height 1795.2}), :page 2}, :content {:text " REALAU can provide API-level alternatives such as new SHA256Digest together with some samples, and argument-level alternatives such as \"SHA-1\", \"SHA-256\", \"SHA-384\", and \"SHA-512\"."}, :properties {:color "green"}} {:id #uuid "635cf5d7-e256-40b8-8603-ff546b30e0e7", :page 3, :position {:bounding {:x1 0, :y1 46.16844940185547, :x2 683.7958984375, :y2 274.2777862548828, :width 1387.2, :height 1795.2}, :rects ({:x1 0, :y1 46.16844940185547, :x2 0, :y2 65.52130889892578, :width 1387.2, :height 1795.2} {:x1 0, :y1 62.16651153564453, :x2 0, :y2 81.51937103271484, :width 1387.2, :height 1795.2} {:x1 378.7945251464844, :y1 194.88653564453125, :x2 680.0712890625, :y2 220.08177185058594, :width 1387.2, :height 1795.2} {:x1 110.98228454589844, :y1 221.98167419433594, :x2 683.7958984375, :y2 247.1769256591797, :width 1387.2, :height 1795.2} {:x1 110.98228454589844, :y1 249.08253479003906, :x2 591.6373291015625, :y2 274.2777862548828, :width 1387.2, :height 1795.2}), :page 3}, :content {:text "We will attempt to fill in the blank with some alternative API usages (e.g., MessageDigest.getInstance(\"MD5\") and new SHA256Digest())."}, :properties {:color "purple"}} {:id #uuid "635cf600-98c9-4bea-932e-e7e90b4f63df", :page 3, :position {:bounding {:x1 0, :y1 350.1316375732422, :x2 680.446286201477, :y2 762.0418090820312, :width 1387.2, :height 1795.2}, :rects ({:x1 0, :y1 350.1316375732422, :x2 0, :y2 369.48450469970703, :width 1387.2, :height 1795.2} {:x1 0, :y1 366.1297073364258, :x2 0, :y2 385.4825668334961, :width 1387.2, :height 1795.2} {:x1 110.28051471710205, :y1 682.6505737304688, :x2 680.0595064163208, :y2 707.8458099365234, :width 1387.2, :height 1795.2} {:x1 110.98228168487549, :y1 709.7514343261719, :x2 680.446286201477, :y2 734.9466705322266, :width 1387.2, :height 1795.2} {:x1 110.98228168487549, :y1 736.8465881347656, :x2 361.4623689651489, :y2 762.0418090820312, :width 1387.2, :height 1795.2}), :page 3}, :content {:text "They take an entire sequence of tokens as input at once and use bidirectional context to generate a vector representation for each token in the sequence"}, :properties {:color "green"}} {:id #uuid "635cf611-9310-4a86-8d56-dd5da6f62098", :page 3, :position {:bounding {:x1 135.14483642578125, :y1 818.1434326171875, :x2 365.1220397949219, :y2 843.3386840820312, :width 1387.2, :height 1795.2}, :rects ({:x1 135.14483642578125, :y1 818.1434326171875, :x2 365.1220397949219, :y2 843.3386840820312, :width 1387.2, :height 1795.2}), :page 3}, :content {:text "masked token prediction"}, :properties {:color "green"}} {:id #uuid "635cf625-7a54-49b6-8c71-4e96e1d1f4fe", :page 3, :position {:bounding {:x1 252.1748809814453, :y1 872.3394470214844, :x2 606.6961364746094, :y2 897.53466796875, :width 1387.2, :height 1795.2}, :rects ({:x1 252.1748809814453, :y1 872.3394470214844, :x2 606.6961364746094, :y2 897.53466796875, :width 1387.2, :height 1795.2}), :page 3}, :content {:text "bidirectional context encoding capacity"}, :properties {:color "green"}} {:id #uuid "635cf632-04fb-40c1-b577-3fd7599f43dd", :page 3, :position {:bounding {:x1 110.98228454589844, :y1 899.4403076171875, :x2 503.9107666015625, :y2 924.6355285644531, :width 1387.2, :height 1795.2}, :rects ({:x1 110.98228454589844, :y1 899.4403076171875, :x2 503.9107666015625, :y2 924.6355285644531, :width 1387.2, :height 1795.2}), :page 3}, :content {:text "masked token prediction pre-training task"}, :properties {:color "green"}} {:id #uuid "635d03e3-b005-4896-ab49-5fead468659e", :page 3, :position {:bounding {:x1 0, :y1 510.1122589111328, :x2 680.0654754638672, :y2 1087.229248046875, :width 1387.2, :height 1795.2}, :rects ({:x1 0, :y1 510.1122589111328, :x2 0, :y2 529.4651184082031, :width 1387.2, :height 1795.2} {:x1 0, :y1 526.1103210449219, :x2 0, :y2 545.4631805419922, :width 1387.2, :height 1795.2} {:x1 0, :y1 542.1083831787109, :x2 0, :y2 561.4612579345703, :width 1387.2, :height 1795.2} {:x1 0, :y1 558.1064453125, :x2 0, :y2 577.4593200683594, :width 1387.2, :height 1795.2} {:x1 642.0956726074219, :y1 953.6363067626953, :x2 679.6624450683594, :y2 978.83154296875, :width 1387.2, :height 1795.2} {:x1 110.98228454589844, :y1 980.7371520996094, :x2 680.0654754638672, :y2 1005.9324035644531, :width 1387.2, :height 1795.2} {:x1 110.98228454589844, :y1 1007.8323059082031, :x2 680.0640716552734, :y2 1033.0275573730469, :width 1387.2, :height 1795.2} {:x1 110.98228454589844, :y1 1034.9331665039062, :x2 678.8625335693359, :y2 1060.1283874511719, :width 1387.2, :height 1795.2} {:x1 110.98228454589844, :y1 1062.0340270996094, :x2 677.8091278076172, :y2 1087.229248046875, :width 1387.2, :height 1795.2}), :page 3}, :content {:text "The reason is that the blank length (i.e., the number of tokens to predict) must be determined before prediction when applying these models to cloze-style tasks, while the alternative API usages to be filled into the blank are indeterminate-length"}, :properties {:color "yellow"}} {:id #uuid "635d048a-aba0-40d4-9c34-30dda454d795", :page 3, :position {:bounding {:x1 0, :y1 599.4024658203125, :x2 1276.23876953125, :y2 1233.3798828125, :width 1387.2, :height 1795.2}, :rects ({:x1 1096.4977722167969, :y1 599.4024658203125, :x2 1276.23876953125, :y2 624.5976867675781, :width 1387.2, :height 1795.2} {:x1 707.149772644043, :y1 626.5032958984375, :x2 1276.2194213867188, :y2 651.6985473632812, :width 1387.2, :height 1795.2} {:x1 707.149772644043, :y1 653.5984497070312, :x2 1106.1889343261719, :y2 678.793701171875, :width 1387.2, :height 1795.2} {:x1 0, :y1 1198.0289916992188, :x2 0, :y2 1217.3818359375, :width 1387.2, :height 1795.2} {:x1 0, :y1 1214.0270385742188, :x2 0, :y2 1233.3798828125, :width 1387.2, :height 1795.2}), :page 3}, :content {:text "we need to adapt the models properly to solve the problem of indeterminate length and diversity of code alternatives"}, :properties {:color "yellow"}} {:id #uuid "635d0a17-f788-4890-bb2e-42ed954b1c10", :page 3, :position {:bounding {:x1 0, :y1 993.3119735717773, :x2 1276.2421417236328, :y2 1457.352783203125, :width 1387.2, :height 1795.2}, :rects ({:x1 964.7959594726562, :y1 993.3119735717773, :x2 1273.7587890625, :y2 1018.5072021484375, :width 1387.2, :height 1795.2} {:x1 707.1497344970703, :y1 1020.4071197509766, :x2 1276.2421417236328, :y2 1045.6023559570312, :width 1387.2, :height 1795.2} {:x1 707.1497344970703, :y1 1047.5079803466797, :x2 786.8087768554688, :y2 1072.7032165527344, :width 1387.2, :height 1795.2} {:x1 0, :y1 1422.0018310546875, :x2 0, :y2 1441.354736328125, :width 1387.2, :height 1795.2} {:x1 0, :y1 1437.9999389648438, :x2 0, :y2 1457.352783203125, :width 1387.2, :height 1795.2}), :page 3}, :content {:text "API usage retriever and an API usage reranker, which are built upon existing code pre-trained models."}, :properties {:color "green"}} {:id #uuid "635d0acf-1922-482c-8709-f50e82a28c69", :page 3, :position {:bounding {:x1 0, :y1 1549.8037567138672, :x2 1276.7679138183594, :y2 1777.3140258789062, :width 1387.2, :height 1795.2}, :rects ({:x1 729.7261657714844, :y1 1549.8037567138672, :x2 1276.7679138183594, :y2 1574.9989929199219, :width 1387.2, :height 1795.2} {:x1 707.1497344970703, :y1 1576.9046173095703, :x2 1276.2367706298828, :y2 1602.099853515625, :width 1387.2, :height 1795.2} {:x1 707.1497344970703, :y1 1603.999755859375, :x2 802.9008941650391, :y2 1629.1950073242188, :width 1387.2, :height 1795.2} {:x1 0, :y1 1741.9631042480469, :x2 0, :y2 1761.3159484863281, :width 1387.2, :height 1795.2} {:x1 0, :y1 1757.9611511230469, :x2 0, :y2 1777.3140258789062, :width 1387.2, :height 1795.2}), :page 3}, :content {:text "From the code corpus, REALAU extracts APIs, API usages, and the mappings between them to form a code alternative repository."}, :properties {:color "green"}} {:id #uuid "635d0b35-024a-4a33-8db1-c2ec14caa01d", :page 4, :position {:bounding {:x1 0, :y1 78.16456985473633, :x2 680.0718212127686, :y2 540.1286010742188, :width 1387.2, :height 1795.2}, :rects ({:x1 0, :y1 78.16456985473633, :x2 0, :y2 97.5174331665039, :width 1387.2, :height 1795.2} {:x1 110.9822826385498, :y1 487.83251953125, :x2 680.0718212127686, :y2 513.0277404785156, :width 1387.2, :height 1795.2} {:x1 110.9822826385498, :y1 514.933349609375, :x2 333.24207878112793, :y2 540.1286010742188, :width 1387.2, :height 1795.2}), :page 4}, :content {:text "REALAU then attempts to map the extracted expressions to the corresponding APIs."}, :properties {:color "green"}} {:id #uuid "635d0e61-ce04-46fb-bffb-b7a1006d623e", :page 4, :position {:bounding {:x1 367.146240234375, :y1 1117.0573425292969, :x2 677.9866027832031, :y2 1142.2525939941406, :width 1387.2, :height 1795.2}, :rects ({:x1 367.146240234375, :y1 1117.0573425292969, :x2 677.9866027832031, :y2 1142.2525939941406, :width 1387.2, :height 1795.2}), :page 4}, :content {:text "define-use analysis for variables"}, :properties {:color "yellow"}} {:id #uuid "635d0e6c-1d2f-467b-9bf3-a5016b74defd", :page 4, :position {:bounding {:x1 0, :y1 462.11810302734375, :x2 680.0488586425781, :y2 1196.4485778808594, :width 1387.2, :height 1795.2}, :rects ({:x1 0, :y1 462.11810302734375, :x2 0, :y2 481.470947265625, :width 1387.2, :height 1795.2} {:x1 206.9679718017578, :y1 1144.1524810791016, :x2 680.0488586425781, :y2 1169.3477172851562, :width 1387.2, :height 1795.2} {:x1 110.98228454589844, :y1 1171.2533416748047, :x2 393.08221435546875, :y2 1196.4485778808594, :width 1387.2, :height 1795.2}), :page 4}, :content {:text "EALAU tries to trace back to where o is defined to determine the type T of o"}, :properties {:color "yellow"}} {:id #uuid "635d0ea8-add8-445f-b761-3f792ab99933", :page 4, :position {:bounding {:x1 0, :y1 542.1083374023438, :x2 678.8824844360352, :y2 1331.5248718261719, :width 1387.2, :height 1795.2}, :rects ({:x1 0, :y1 542.1083374023438, :x2 0, :y2 561.461181640625, :width 1387.2, :height 1795.2} {:x1 133.5644302368164, :y1 1279.2344818115234, :x2 678.8824844360352, :y2 1304.4297180175781, :width 1387.2, :height 1795.2} {:x1 110.98228454589844, :y1 1306.3296356201172, :x2 242.81504821777344, :y2 1331.5248718261719, :width 1387.2, :height 1795.2}), :page 4}, :content {:text "If an expression can be mapped to an API, it is treated as an API usage"}, :properties {:color "green"}} {:id #uuid "635d0f6d-c1b2-4fad-b3e2-f64dfb03fdd8", :page 4, :position {:bounding {:x1 0, :y1 606.1006469726562, :x2 678.9302825927734, :y2 1466.6070098876953, :width 1387.2, :height 1795.2}, :rects ({:x1 0, :y1 606.1006469726562, :x2 0, :y2 625.4534912109375, :width 1387.2, :height 1795.2} {:x1 0, :y1 622.0986938476562, :x2 0, :y2 641.4515991210938, :width 1387.2, :height 1795.2} {:x1 225.63890075683594, :y1 1387.2157592773438, :x2 678.9017791748047, :y2 1412.4109954833984, :width 1387.2, :height 1795.2} {:x1 110.98228454589844, :y1 1414.3109130859375, :x2 678.9302825927734, :y2 1439.5061492919922, :width 1387.2, :height 1795.2} {:x1 110.98228454589844, :y1 1441.4117736816406, :x2 291.76292419433594, :y2 1466.6070098876953, :width 1387.2, :height 1795.2}), :page 4}, :content {:text "we distinguish APIs only by their names (without parameters), that is, we consider the APIs with the same name to be the same API. "}, :properties {:color "green"}} {:id #uuid "635d0fc4-845f-4b3b-a301-c05383511cf7", :page 4, :position {:bounding {:x1 852.9703979492188, :y1 517.3296661376953, :x2 977.9713745117188, :y2 542.5248870849609, :width 1387.2, :height 1795.2}, :rects ({:x1 852.9703979492188, :y1 517.3296661376953, :x2 977.9713745117188, :y2 542.5248870849609, :width 1387.2, :height 1795.2}), :page 4}, :content {:text "code context"}, :properties {:color "yellow"}} {:id #uuid "635e8d54-8a89-46e8-b1db-d975bbab5b3c", :page 3, :position {:bounding {:x1 846.8482971191406, :y1 591.5917282104492, :x2 914.8168640136719, :y2 609.6665878295898, :width 1019.9999999999999, :height 1319.9999999999998}, :rects ({:x1 846.8482971191406, :y1 591.5917282104492, :x2 914.8168640136719, :y2 609.6665878295898, :width 1019.9999999999999, :height 1319.9999999999998}), :page 3}, :content {:text "REALAU"}, :properties {:color "purple"}} {:id #uuid "635e9619-99d1-4734-a1fc-5707fa2ed421", :page 3, :position {:bounding {:x1 803.8801689147949, :y1 772.9478149414062, :x2 1049.8160209655762, :y2 793.7612609863281, :width 1142.3999999999999, :height 1478.3999999999999}, :rects ({:x1 803.8801689147949, :y1 772.9478149414062, :x2 1049.8160209655762, :y2 793.7612609863281, :width 1142.3999999999999, :height 1478.3999999999999}), :page 3}, :content {:text "construct an alternative repository"}, :properties {:color "yellow"}} {:id #uuid "635e971f-28c4-4ce3-8952-62c80aecb968", :page 3, :position {:bounding {:x1 653.1757621765137, :y1 862.20947265625, :x2 691.7200126647949, :y2 883.02294921875, :width 1142.3999999999999, :height 1478.3999999999999}, :rects ({:x1 653.1757621765137, :y1 862.20947265625, :x2 691.7200126647949, :y2 883.02294921875, :width 1142.3999999999999, :height 1478.3999999999999}), :page 3}, :content {:text "Give"}, :properties {:color "red"}} {:id #uuid "635e97bb-8f0f-4462-abbe-987e39e7ae05", :page 3, :position {:bounding {:x1 0, :y1 906.84033203125, :x2 1050.1889457702637, :y2 1521.8814697265625, :width 1142.3999999999999, :height 1478.3999999999999}, :rects ({:x1 786.9759330749512, :y1 906.84033203125, :x2 1050.1852836608887, :y2 927.6537475585938, :width 1142.3999999999999, :height 1478.3999999999999} {:x1 582.3574638366699, :y1 929.1600341796875, :x2 1050.1889457702637, :y2 949.9734497070312, :width 1142.3999999999999, :height 1478.3999999999999} {:x1 582.3574638366699, :y1 951.4796752929688, :x2 876.7454643249512, :y2 972.2931518554688, :width 1142.3999999999999, :height 1478.3999999999999} {:x1 0, :y1 1486.7073974609375, :x2 0, :y2 1505.877685546875, :width 1142.3999999999999, :height 1478.3999999999999} {:x1 0, :y1 1502.711181640625, :x2 0, :y2 1521.8814697265625, :width 1142.3999999999999, :height 1478.3999999999999}), :page 3}, :content {:text "he API usage reranker reranks the retrieved API usages according to their fitness (i.e., generation probability) to be filled into the blank."}, :properties {:color "yellow"}} {:id #uuid "635eb6f7-0e56-4f18-811f-a1c6944a6f51", :page 4, :position {:bounding {:x1 0, :y1 190.40206146240234, :x2 501.4999084472656, :y2 657.746337890625, :width 1019.9999999999999, :height 1319.9999999999998}, :rects ({:x1 0, :y1 190.40206146240234, :x2 0, :y2 209.57235717773438, :width 1019.9999999999999, :height 1319.9999999999998} {:x1 0, :y1 206.40583038330078, :x2 0, :y2 225.5761260986328, :width 1019.9999999999999, :height 1319.9999999999998} {:x1 0, :y1 222.40959930419922, :x2 0, :y2 241.57989501953125, :width 1019.9999999999999, :height 1319.9999999999998} {:x1 0, :y1 238.4133758544922, :x2 0, :y2 257.5836639404297, :width 1019.9999999999999, :height 1319.9999999999998} {:x1 0, :y1 254.41714477539062, :x2 0, :y2 273.5874328613281, :width 1019.9999999999999, :height 1319.9999999999998} {:x1 0, :y1 270.42091369628906, :x2 0, :y2 289.59120178222656, :width 1019.9999999999999, :height 1319.9999999999998} {:x1 0, :y1 286.4246826171875, :x2 0, :y2 305.594970703125, :width 1019.9999999999999, :height 1319.9999999999998} {:x1 466.2437438964844, :y1 497.8541564941406, :x2 500.0650939941406, :y2 515.9289855957031, :width 1019.9999999999999, :height 1319.9999999999998} {:x1 81.60211181640625, :y1 517.7775573730469, :x2 500.3368225097656, :y2 535.8524169921875, :width 1019.9999999999999, :height 1319.9999999999998} {:x1 81.60211181640625, :y1 537.7009582519531, :x2 316.6436462402344, :y2 555.7758178710938, :width 1019.9999999999999, :height 1319.9999999999998} {:x1 114.80778503417969, :y1 559.9693298339844, :x2 500.0785827636719, :y2 578.0441589355469, :width 1019.9999999999999, :height 1319.9999999999998} {:x1 99.70262145996094, :y1 565.0100708007812, :x2 114.81053161621094, :y2 578.1554260253906, :width 1019.9999999999999, :height 1319.9999999999998} {:x1 114.80778503417969, :y1 579.8927307128906, :x2 198.84896850585938, :y2 597.9675598144531, :width 1019.9999999999999, :height 1319.9999999999998} {:x1 114.80778503417969, :y1 599.8161315917969, :x2 501.4999084472656, :y2 617.8909912109375, :width 1019.9999999999999, :height 1319.9999999999998} {:x1 99.70262145996094, :y1 604.8569030761719, :x2 114.81053161621094, :y2 618.0022277832031, :width 1019.9999999999999, :height 1319.9999999999998} {:x1 114.80778503417969, :y1 619.7481079101562, :x2 500.0360412597656, :y2 637.8229370117188, :width 1019.9999999999999, :height 1319.9999999999998} {:x1 99.70262145996094, :y1 624.7888793945312, :x2 114.81053161621094, :y2 637.9342041015625, :width 1019.9999999999999, :height 1319.9999999999998} {:x1 114.80778503417969, :y1 639.6715087890625, :x2 173.4141082763672, :y2 657.746337890625, :width 1019.9999999999999, :height 1319.9999999999998}), :page 4}, :content {:text "If the expression is a method call (denoted as mi), it can be further divided into three following cases.• mi calls a custom method of the current class with the form m(...);• mi calls a static method of class C with the form C.m(...);• mi calls a member method of the object o with the form o.m(...)."}, :properties {:color "green"}} {:id #uuid "635ec128-b147-4256-92d2-3f258f150040", :page 4, :position {:bounding {:x1 0, :y1 430.4585876464844, :x2 500.0713806152344, :y2 839.4190673828125, :width 1019.9999999999999, :height 1319.9999999999998}, :rects ({:x1 0, :y1 430.4585876464844, :x2 0, :y2 449.6288757324219, :width 1019.9999999999999, :height 1319.9999999999998} {:x1 81.60211181640625, :y1 801.4208374023438, :x2 500.0713806152344, :y2 819.4956665039062, :width 1019.9999999999999, :height 1319.9999999999998} {:x1 81.60211181640625, :y1 821.34423828125, :x2 256.6274719238281, :y2 839.4190673828125, :width 1019.9999999999999, :height 1319.9999999999998}), :page 4}, :content {:text "For the last case, REALAU tries to find the corresponding type T for o by performing th"}, :properties {:color "red"}} {:id #uuid "635ec5bd-da51-4f64-910e-e09b381bcbc1", :page 4, :position {:bounding {:x1 536.5627136230469, :y1 500.58420491218567, :x2 675.3377380371094, :y2 518.6590340137482, :width 1019.9999999999999, :height 1319.9999999999998}, :rects ({:x1 536.5627136230469, :y1 500.58420491218567, :x2 675.3377380371094, :y2 518.6590340137482, :width 1019.9999999999999, :height 1319.9999999999998}), :page 4}, :content {:text "1) Similarity Model"}, :properties {:color "green"}} {:id #uuid "635ec601-fe58-4201-9965-c44050a323a4", :page 4, :position {:bounding {:x1 536.5627136230469, :y1 680.3656005859375, :x2 668.5984191894531, :y2 698.4404296875, :width 1019.9999999999999, :height 1319.9999999999998}, :rects ({:x1 536.5627136230469, :y1 680.3656005859375, :x2 668.5984191894531, :y2 698.4404296875, :width 1019.9999999999999, :height 1319.9999999999998}), :page 4}, :content {:text "Blank Embedding."}, :properties {:color "green"}} {:id #uuid "635ec606-eb55-4dcf-a5dc-6eb14cac3689", :page 4, :position {:bounding {:x1 536.5627136230469, :y1 919.9171752929688, :x2 662.3623962402344, :y2 937.9920043945312, :width 1019.9999999999999, :height 1319.9999999999998}, :rects ({:x1 536.5627136230469, :y1 919.9171752929688, :x2 662.3623962402344, :y2 937.9920043945312, :width 1019.9999999999999, :height 1319.9999999999998}), :page 4}, :content {:text "API Embedding. "}, :properties {:color "green"}} {:id #uuid "635ec638-945f-4912-8d5a-ce78d84ad880", :page 5, :position {:bounding {:x1 98.2049560546875, :y1 269.09437561035156, :x2 254.59317016601562, :y2 287.1692352294922, :width 1019.9999999999999, :height 1319.9999999999998}, :rects ({:x1 98.2049560546875, :y1 269.09437561035156, :x2 254.59317016601562, :y2 287.1692352294922, :width 1019.9999999999999, :height 1319.9999999999998}), :page 5}, :content {:text "2) Model Fine-tuning:"}, :properties {:color "green"}} {:id #uuid "635ec65b-94a6-47a1-aa86-43ddcf732ffc", :page 5, :position {:bounding {:x1 0, :y1 78.37567138671875, :x2 500.0641174316406, :y2 386.7948455810547, :width 1019.9999999999999, :height 1319.9999999999998}, :rects ({:x1 0, :y1 78.37567138671875, :x2 0, :y2 97.54595947265625, :width 1019.9999999999999, :height 1319.9999999999998} {:x1 211.884521484375, :y1 348.7880096435547, :x2 500.0641174316406, :y2 366.8628692626953, :width 1019.9999999999999, :height 1319.9999999999998} {:x1 81.60211181640625, :y1 368.71998596191406, :x2 195.18307495117188, :y2 386.7948455810547, :width 1019.9999999999999, :height 1319.9999999999998}), :page 5}, :content {:text "and randomly masks one of the usages with a blank [MASK]. "}, :properties {:color "green"}} {:id #uuid "635ec668-a2db-47af-85d5-763d0570950c", :page 5, :position {:bounding {:x1 98.2049560546875, :y1 647.0315399169922, :x2 264.6872253417969, :y2 665.1063690185547, :width 1019.9999999999999, :height 1319.9999999999998}, :rects ({:x1 98.2049560546875, :y1 647.0315399169922, :x2 264.6872253417969, :y2 665.1063690185547, :width 1019.9999999999999, :height 1319.9999999999998}), :page 5}, :content {:text "3) API Usage Retrieval:"}, :properties {:color "green"}}], :extra {:page 4}}