Moderna programmeringsspråk, såsom Java och C#, ger vanligtvis funktioner som hanterar undantag. Dessa funktioner skiljer felhantering kod från vanlig källkod och syftar till att hjälpa i praktiken av programvara förståelse och underhåll. Efter att ha erkänt fördelarna med undantagshantering funktioner, deras missbruk kan fortfarande orsaka tillförlitlighet nedbrytning eller till och med katastrofala programfel. Tidigare studier om undantagshantering syftar till att förstå praxis för undantagshantering i dess olika komponenter, t.ex. ursprunget till undantagen och undantagens hanteringskod. Men de upptäckta fynden var spridda och skiftande. I denna uppsats, som komplement till tidigare forskningsresultat om undantagshantering, studerar vi dess egenskaper genom att berika kunskapen om hanteringskoden med en flödesanalys av undantag. Vår fallstudie genomförs med över 10K undantag hantering block, och över 77K relaterade undantag flöden från 16 open-source Java och C# (.NET) bibliotek och program. Våra fallstudieresultat visar att varje försöksblock har upp till 12 möjliga potentiellt återvinningsbara men förökade undantag. Ännu viktigare är att 22 % av de distinkta möjliga undantagen kan spåras tillbaka till flera metoder (i genomsnitt 1,39 och max 34). Sådana resultat belyser den ytterligare utmaningen med att utarbeta regler för hantering av kvalitetsundantag. För att göra det ännu värre bekräftar vi att det saknas dokumentation om de möjliga undantagen och deras källor. Sådan kritisk information kan dock identifieras genom undantagsflödesanalys på väldokumenterade API-anrop (t.ex. JRE- och.NET-dokumentation). Slutligen observerar vi olika strategier i undantagshantering kod mellan Java och C#. Våra resultat belyser möjligheterna att utnyttja automatiserad programvaruanalys för att hjälpa till med undantagshanteringsmetoder och visar på behovet av ytterligare fördjupade studier om undantagshanteringspraxis.
I REF studerade de metoder för undantagshantering med undantag för flödesanalys.
Revisiting Exception Handling Practices with Exception Flow Analysis
{'venue': '2017 IEEE 17th International Working Conference on Source Code Analysis and Manipulation (SCAM)', 'journal': '2017 IEEE 17th International Working Conference on Source Code Analysis and Manipulation (SCAM)', 'mag_field_of_study': ['Computer Science']}