DocumentCode :
176112
Title :
How Does Exception Handling Behavior Evolve? An Exploratory Study in Java and C# Applications
Author :
Cacho, Nelio ; Adachi Barbosa, Eiji ; Araujo, Jean ; Pranto, Frederico ; Garcia, Alvaro ; Cesar, Thiago ; Soares, Eliezio ; Cassio, Arthur ; Filipe, Thomas ; Garcia, I.
Author_Institution :
Dept. of Inf. & Appl. Math., Fed. Univ. of Rio Grande do Norte, Natal, Brazil
fYear :
2014
fDate :
Sept. 29 2014-Oct. 3 2014
Firstpage :
31
Lastpage :
40
Abstract :
Exception handling mechanisms (EHM) were conceived as a means to improve maintainability and reliability of programs that have to deal with exceptional situations. Amongst the different implementations of built-in EHM, we classify them in two main categories: reliability-driven and maintenance-driven. Some programming languages, such as Java, provide built-in exception handling mechanisms that promote reliability-driven EHMs. Maintenance-driven EHMs, on the other hand, promote software maintainability by not forcing developers to specify exception handling constraints. Most of modern languages, such as C#, Ruby, Python and many others support this approach. Developers usually have to choose between maintainability-driven and reliability-driven approaches to structure exception handling in their applications. However, there is still little empirical knowledge about the impact that adopting these mechanisms have on software robustness and maintenance. This paper addressed this gap by conducting an empirical study aimed at understanding the relationship between changes in Java and C# programs and their robustness. In particular, we evaluated how changes in the normal and exceptional code were related to exception handling faults. We applied a change impact analysis and a control flow analysis in 116 versions of 16 C# programs and 112 versions of 16 Java programs.
Keywords :
C language; Java; exception handling; software maintenance; software reliability; C# programs; Java programs; built-in EHM implementations; change impact analysis; control flow analysis; empirical analysis; exception handling behavior; exception handling constraints; exception handling faults; exceptional code; maintenance-driven EHM; normal code; program maintainability improvement; program reliability improvement; programming languages; reliability-driven EHM; software maintainability; software robustness; Java; Measurement; Robustness; Servers; Software; Software reliability; Exception Handling; change impact analysis; maintenance; reliability;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Software Maintenance and Evolution (ICSME), 2014 IEEE International Conference on
Conference_Location :
Victoria, BC
ISSN :
1063-6773
Type :
conf
DOI :
10.1109/ICSME.2014.25
Filename :
6976069
Link To Document :
بازگشت