Challenging Analytical Knowledge On ...
Document type :
Rapport de recherche
Title :
Challenging Analytical Knowledge On Exception-Handling: An Empirical Study of 32 Java Software Packages
Author(s) :
Monperrus, Martin [Auteur]
Self-adaptation for distributed services and large software systems [SPIRALS]
Université de Lille, Sciences et Technologies
Germain de Montauzan, Maxence [Auteur]
Université de Lille, Sciences et Technologies
Cornu, Benoit [Auteur]
Self-adaptation for distributed services and large software systems [SPIRALS]
Université de Lille, Sciences et Technologies
Marvie, Raphael [Auteur]
Université de Lille, Sciences et Technologies
Rouvoy, Romain [Auteur]
Self-adaptation for distributed services and large software systems [SPIRALS]
Université de Lille, Sciences et Technologies

Self-adaptation for distributed services and large software systems [SPIRALS]
Université de Lille, Sciences et Technologies
Germain de Montauzan, Maxence [Auteur]
Université de Lille, Sciences et Technologies
Cornu, Benoit [Auteur]
Self-adaptation for distributed services and large software systems [SPIRALS]
Université de Lille, Sciences et Technologies
Marvie, Raphael [Auteur]
Université de Lille, Sciences et Technologies
Rouvoy, Romain [Auteur]

Self-adaptation for distributed services and large software systems [SPIRALS]
Université de Lille, Sciences et Technologies
Institution :
Laboratoire d'Informatique Fondamentale de Lille
Publication date :
2014
HAL domain(s) :
Informatique [cs]/Génie logiciel [cs.SE]
English abstract : [en]
In this paper, we aim at contributing to the body of knowledge on exception-handling. We take neither an analytical approach (``we think exception handling is good because X and Y'') nor an empirical approach (``most ...
Show more >In this paper, we aim at contributing to the body of knowledge on exception-handling. We take neither an analytical approach (``we think exception handling is good because X and Y'') nor an empirical approach (``most developers do Z and T''). Our method is to compare analytical knowledge against empirical one. We first review the literature to find analytical knowledge on exception handling, we then set up a dataset of 32 Java software applications and an experimental protocol to statically characterize and measure the exception handling design. We eventually compare our measures against the claims on exception handling that authors have made over time. Our results show that some analytical principles for exception design do not support the empirical validation: 1) practitioners violate the principle and 2) upon analysis, there are indeed very good use cases going against this principle. This is in particular the case for ``Empty Catch Blocks are Bad'' and ``Do not Catch Generic Exceptions''.Show less >
Show more >In this paper, we aim at contributing to the body of knowledge on exception-handling. We take neither an analytical approach (``we think exception handling is good because X and Y'') nor an empirical approach (``most developers do Z and T''). Our method is to compare analytical knowledge against empirical one. We first review the literature to find analytical knowledge on exception handling, we then set up a dataset of 32 Java software applications and an experimental protocol to statically characterize and measure the exception handling design. We eventually compare our measures against the claims on exception handling that authors have made over time. Our results show that some analytical principles for exception design do not support the empirical validation: 1) practitioners violate the principle and 2) upon analysis, there are indeed very good use cases going against this principle. This is in particular the case for ``Empty Catch Blocks are Bad'' and ``Do not Catch Generic Exceptions''.Show less >
Language :
Anglais
Collections :
Source :
Files
- https://hal.inria.fr/hal-01093908/document
- Open access
- Access the document
- https://hal.inria.fr/hal-01093908/document
- Open access
- Access the document
- https://hal.inria.fr/hal-01093908/document
- Open access
- Access the document