DeepAM: Migrate APIs with Multi-modal Sequence to Sequence Learning
Table 3: Number of API Mappings Mined by DeepAM and StaMiner
['Tool', '[BOLD] # API Mapping Rules by Sequence Length 1', '[BOLD] # API Mapping Rules by Sequence Length 2-3', '[BOLD] # API Mapping Rules by Sequence Length 4-7', '[BOLD] # API Mapping Rules by Sequence Length 8+', '[BOLD] # API Mapping Rules by Sequence Length Total', 'Corr.', 'EDR']
We also evaluate the scalability of DeepAM on mining API mappings: we compare the number of API mappings minend by DeepAM and StaMiner with respect to sequence lengths. We can make this comparison because both DeepAM and StaMiner support sequence-to-sequence mapping. We also consider the quality of mined API mappings in the comparison. The correctness is defined as the percentage of correct API sequences of all the migrated results. The EDR is defined as the ratio of elements that a user must delete/add in order to transform a result into a correct one. EDR=∑pairsEditDist(sR,sT)∑pairslength(sT) , where EditDist measures the edit distance between the ground truth sequence sR and the result sequence sT; length(sT) is the number of symbols in sT. The value of EDR ranges from 0 to 100%. The smaller the better. Each column within # API Mappings by Sequence Length shows the number of mined API mappings within a specific range of length: one (column 1), two or three (2-3), four to seven (4-7), and eight or more (8+). As we can see, DeepAM produces many more API mappings than StaMiner, with comparable quality. The total number of mappings mined by DeepAM is 808,488, which is significantly greater than that of StaMiner (100,825). In particular, DeepAM produces more mappings for long API sequences. The quality of mappings by DeepAM is comparable to that by StaMiner. The correctness of DeepAM is 88.2%, which is slightly greater than that of StaMiner (87.1%). However, mappings produced by DeepAM need slightly more error correlations than StaMiner.