En koddoft är ett kodmönster som kan tyda på ett kod- eller designproblem, vilket gör applikationskoden svår att utveckla och underhålla. Automatisk upptäckt av koddofter har studerats för att hjälpa användarna att hitta vilka delar av deras användningskoder som ska refaktors. Men kodlukten har inte definierats på ett formellt sätt. Dessutom är befintliga detektionsverktyg främst utformade för objektorienterade tillämpningar, men sällan för högpresterande datortillämpningar (HPC). HPC-tillämpningar är vanligtvis optimerade för en viss plattform för att uppnå en hög prestanda, och har därför speciella koddofter som kallas plattformsspecifika koddofter (PSCS). Syftet med detta arbete är att utveckla en kod luktvarningssystem för att hjälpa användare att hitta PSCS av HPC-applikationer för att förbättra prestanda portabilitet mellan olika plattformar. I detta dokument presenteras ett PUSPS-varningssystem som bygger på ett abstrakt syntaxträd (AST) och XML. Kodmönster för PSPS definieras på ett formellt sätt med hjälp av den AST-information som finns representerad i XML. XML Path Language (XPath) används för att beskriva dessa mönster. En databas är byggd för att lagra omvandling recept skrivna i XSLT-filer för att eliminera upptäckta PUSPS. Återkallelse- och precisionsutvärderingsresultat som erhållits med hjälp av verkliga tillämpningar visar att det föreslagna systemet kan upptäcka potentiella Kusps på ett korrekt sätt. Utvärderingen av prestandaportabilitet för verkliga tillämpningar visar att om man eliminerar PUSS leder det till betydande prestandaförändringar i International Journal of Networking and Computing, och därför måste koddelarna med upptäckta PSCS-enheter omfaktoriseras för att förbättra prestandaportabiliteten mellan flera plattformar.
I Wang et al:s arbete. Ref, en ny metod utvecklades för att upptäcka plattformsspecifika koddofter (PSCS) i högpresterande datorapplikationer med hjälp av Abstract Syntax Tree (AST) och XML.
Identification and Elimination of Platform-Specific Code Smells in High Performance Computing Applications
{'venue': 'Int. J. Netw. Comput.', 'journal': 'Int. J. Netw. Comput.', 'mag_field_of_study': ['Computer Science']}