Are the Classes that use Exceptions Defect Prone?

Size: px
Start display at page:

Download "Are the Classes that use Exceptions Defect Prone?"

Transcription

1 Are the Classes that use Exceptions Defect Prone? Cristina Marinescu LOOSE Research Group Politehnica University of Timişoara, Romania ABSTRACT Exception hling is a mechanism that highlights exceptional functionality of software systems. Currently many empirical studies point out that sometimes developers neglect exceptional functionality, minimizing its importance. In this paper we investigate if the design entities (classes) that use exceptions are more defect prone than the other classes. The results, based on analyzing three releases of Eclipse, show that indeed the classes that use exceptions are more defect prone than the other classes. Based on our results, developers are advertised to pay more attention to the way they hle exceptions. Categories Subject Descriptors D.2.4 [Software Engineering]: Software/Program Verification General Terms Measurement, Languages, Reliability 1. INTRODUCTION By enabling software developers to separate the source code that deals with unusual situations from the code that supports normal processing, exception hling mechanisms are intended to make it easier for developers to conceptualize build robust software systems. Since exception hling is not the main feature to be implemented, it does not receive so much attention [5] sometimes developers neglect it they use the ignore-for-now approach tend not to invest time in implementing code for proper hling unless it helps with debugging [14]. There are many empirical studies which show that different deviations from best programming practices correlate with defects 1 [5, 7]. Since among object-oriented systems we encounter many situations where exception hling is not properly hled, we investigate if the classes that use exceptions exhibit a higher significant number of bugs than the classes which do not make use of exceptions. 1 bugs in the source code. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage that copies bear this notice the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission /or a fee. IWPSE-EVOL 11, September 5 6, 2011, Szeged, Hungary. Copyright 2011 ACM /11/09...$ The paper is structured as follows: in Section 2 we relate our empirical study with existing works. In Section 3 we emphasize the process to which we extract the involved data in this study. In the first part of the next section (Section 4) we present the addressed research question. We continue with a brief description of the employed statistical tests followed by the presentation of the performed steps within our study. We end the section by pointing out the results of the study. The threats to the validity are presented in Section 5. In the last section (Section 6) we summarize the results address some hints towards the future work. 2. RELATED WORK To our best knowledge a study which correlates the usage of exceptions in the source code with the defects encountered in a system has not been done before. But there are several works which address different problems related with the usage of exceptions in this section we present some of them. Different approaches like the ones from [6, 13] that help developers to establish the flow of exceptions in object-oriented programs exist. Although our work did not focus on this topic, we want to emphasize that analyzing how exceptions are used within objectoriented source code is an important issue in the field. In [5] the authors analyze the fault proneness of the well-known return-code idiom for dealing with special situations in the source code. Their findings show that an idiomatic approach is indeed fault prone. In [4] is proposed an approach for replacing the return-code idiom this is done using the structured exception hling mechanism. With a slight increase of the source code size the approach almost completely removes the return-code idiom the control flow becomes simpler. The system under observation is further reengineered in order to make use of aspect-oriented programming in order to implement exception hling. Although some benefits were gained, as the author claims, using aspect-oriented programming for removing return idioms may not result in great benefit. In this context we consider that a similar study, like the one presented in this paper, which analyze the defect proneness among source code which make use of aspect-oriented programming for hling exceptions would support researchers developers. 3. DATA COLLECTION In this work we inspect the correlations (if any) between classes that use exceptions the defects these classes exhibit on three releases (2.0, ) of Eclipse 2. The mentioned releases of Eclipse were heavily used within various empirical studies like the 2

2 post number of post-release defects the type exhibits Name of Data filename typename type nthrows ncatches pre post Description location of the type (relative path) name of the type 0 - normal class 1 - abstract class 2 - interface total number of exceptions the contained methods throw within the throws clause total number of exceptions the contained methods catch number of pre-release defects the type exhibits number of post-release defects the type exhibits Figure 1: The Structure of the Extracted Data. ones from [17, 7]. Extracting the required data involve two steps we dedicate next a separate section for each performed step. 3.1 Extracting entities from the source code In order to extract the design entities (e.g., methods, classes, thrown exceptions) from the source code we use an enhanced version of the IPLASMA 3 4 [8] environment. IPLASMA is an integrated environment for quality analysis of object-oriented software systems that includes support for different phases of analysis from model extraction (including scalable parsing for C++, Java lately C#) up to high-level metrics-based analysis or detection of code duplication. This environment relies on the MEMORIA [12] meta-model which specifies the main entities which are extracted from the source code. We create within this environment a new analysis which provides for each class having the same name as the file it belongs to the first five values described in Figure 1. These values are stored within a csv (comma-separated values) file which is further processed by the R environment [11]. We performed an investigation we discover that the entities were captured from the source code with a precision near 100% a recall of 94%. More details about this investigation are presented in [9]. 3.2 Extracting defects The defects were extracted from the CVS version archive of Eclipse Bugzilla bug tracking system using the approach from [17]. The authors of the approach provides the Eclipse bug data set freely available, we use the number of pre-release postrelease defects (number of defects reported six months before after release) provided by this data set. We integrate from the Eclipse bug data set the numbers of prerelease post-release defects into the last two columns of the file whose structure in described in Figure 1. The correspondence between the data extracted by IPLASMA the data related to defects is established based on the value of the filename column. We take into account only the entities whose type is 0 or 1 (i.e., interfaces were excluded from this study). 4. CHARACTERISTICS OF THE EMPIRI- CAL STUDY The goal of this case study is to make an examination related to the classes that throw catch exceptions defect proneness of those classes. The quality focus is the defect proneness of classes making use of exceptions. The perspective of this case study is 3 Integrated Platform for software modelling analysis. 4 a previous version can be downloaded from that both researchers developers get knowledge about the correlation between the usage of exceptions in the source code the defect proneness of the classes. The context is to analyze three versions of Eclipse. 4.1 Research Question Are the classes which use exceptions more defect prone than the classes which do not use exceptions? 4.2 Employed Statistical Tests In order to answer the mentioned research question we employ the Chi-Square test we compute the Odds Ratios for each contingency table. The Chi-Square Test, as it is presented in [15], evaluates if within the underlying population represented by the sample in a contingency table (rxc), the observed cell frequencies are different from the expected frequencies. The tested hypothesis is that the two involved dimensions are independent of one another (i.e., no correlations among them is found). Odds indicate how much likely is for an event to occur as opposed to not occur. The Odds Ratio is the ratio of the odds of an event occurring in one group to the odds of it occurring in another group. If we encounter a value greater than 1 for the Odds Ratio, it means that the probability that an event to occur into the first group is higher than to occur into the second group. 4.3 Conducting the Empirical Study The structure of the two-dimensions contingency table used for computing the value for the Chi-Square test consists of two dimensions: Exceptions. The Exceptions dimension is the row dimension (e.g., independent) the is the column dimension (e.g., dependent). The two categories which composed the Exceptions dimension are: do not catch exceptions a class is mapped to this category if it does not throw catch exceptions from the bodies of its methods catch exceptions a class belongs to this category if it throws or catches at least an exception from the bodies of its methods. The two categories which composed the dimension are: defects the class reveal at least a defect Do not reveal defects the class does not reveal a defect. Since we investigate both pre-release post-release defects, we create two contingency tables for each analyzed versions of Eclipse (2.0, ). For each version the first contingency table (Figure 2a, Figure 3a, Figure 4a) stores the observations related to the pre-release defects, while the second contingency table (Figure 2b, Figure 3b, Figure 4b) stores the observations related to the post-release defects. Each value encountered in each contingency table represents the number of classes we observe as falling into the corresponding categories. For example, Figure 2a shows that Eclipse 2.0 has 946 classes that do not catch exceptions pre-release defects (the upper left value associated to the Cell O 11). From the contingency tables we can notice that each version of Eclipse contains around 44% of classes throwing or catching exceptions. 4.4 Results of the Empirical Study We consider the Chi-Square test of independence as being the most appropriate test to employ. The hypothesis that is evaluated is

3 related to the independence of the two dimensions from the contingency table. Null Hypothesis: H 0 : o ij = ɛ ij, where o ij represents the observed frequency of Cell ij, while ɛ ij represents the expected frequency of Cell ij in the underlying population of classes. Considering the sample, it means that the observed frequency is equal to the expected frequency for each cell. For the contingency table revealing pre-release defects for Eclipse 2.0 (Figure 2a) the expected values are presented in Figure 2c. Each expected value from Figure 2c was computed according to the formula E ij = (O i.)(o.j ), n where (O i.) represents the sum of observations in the row where the cell appears, while (O.j) represents the sum of observations in the column where the cell appears. Alternative Hypothesis: H 1 : o ij ɛ ij. This formula states that in the underlying population of classes the sample represents, the observed frequency for at least one cell is different than the expected frequency. With respect to the sample it means that the observed frequency is not equal to the expected frequency for at least one cell. For each of the contingency tables we compute the values of the Chi-Square test χ 2 using the R Project for Statistical Computing [11]. Since all p-values are less than a 0.05 level of significance (α=0.05), we consider we have enough evidence to reject the null Hypothesis. Consequently, the two dimensions of the contingency table are not independent (i.e., some correlations exist among them). Next, based on the values of the observed expected frequencies, we establish the way (positive or negative) in which the involved dimensions are correlated. A trait from the row dimension is positively correlated with a trait from the column dimension if the observed frequency is greater than the expected frequency. Based on this fact we discuss below each type of the existing inferred correlation.. Each version of Eclipse reveals a negative correlation between classes that do not catch exceptions pre-release defects (946< , 722< , 1130< ). Thus, classes having this trait were less likely to exhibit this type of defects. Classes that catch exceptions were more likely to pre-release defects (1245> , 1068>839.62, 1420> ).. Comparing the observed values from the contingency tables with the expected values, we establish the same types of correlations as within the pre-release defects. Conclusions. The performed test reveals that if a class throws or catches exceptions, it is more likely to exhibit defects. We consider it is important to mention that the provided results do not allow us to draw the conclusion that exceptions are the cause of encountering more defects within; we only provided evidence about an existing positive correlation. In order to bring a stronger evidence related to the correlation between the classes that use exceptions defects, we calculate the Odds Ratio for the last category, with respect to the first row category. The computations of the Odds Ratio firstly require the computation of the Odds. For example, the odds for a class revealing pre-release defects in the first condition ( do not catch exceptions) is computing by dividing 946 to In Figure 5 we present the values of the Odds for each contingency table associated with the three analyzed versions of Eclipse. We can notice that the probability for a class to reveal defects is lower than one half (Odds values lower than 1) for almost all conditions. The Odds Ratio is computed by dividing two values of the Odds Do not throw catch Exceptions Throw or Throw or Eclipse2.0 Eclipse RATIO Eclipse2.0 RATIO Eclipse Eclipse2.1 Eclipse Figure 5: The Values of the Odds. RATIO Eclipse2.1 RATIO Eclipse Figure 6: The Values of the Odds-Ratio. Eclipse3.0 Eclipse RATIO Eclipse3.0 RATIO Eclipse computing for a contingency table. We compute the Odds Ratio for the last category with respect to the first category (see Figure 6). The Odds Ratio for a class in the second condition ( catch exceptions) revealing pre-release defects versus a class in the first condition ( do not catch exceptions) is 2.40 (1.1517/0.4787) for Eclipse 2.0, 2.03 for Eclipse for Eclipse 3.0. The Odds Ratio for a class in the same condition revealing post-release defects is 2.98 for Eclipse 2.0, 2.45 for Eclipse for Eclipse 3.0. These results show us that: the chances that a pre-release defect occur in the group of classes that catch exceptions are 1.98 to 2.40 times higher than the chances a pre-release defect occur in the group of classes that do not catch exceptions. the chances that a post-release defect occur in the group of classes that catch exceptions are 1.69 to 2.98 times higher than the chances a post-release defect occur in the group of classes that do not catch exceptions. Conclusions. The values of the Odds Ratio indicate increased chances for the classes that throw or catch exceptions to exhibit defects compared to the classes that do not catch exceptions. 5. THREATS TO VALIDITY In this section we present the threats to validity associated to our empirical study, following the guidelines from [16]. Construct validity. This type of threats are connected to the extent the operational measures for the concepts being studies were established correctly [16]. Within the case study presented in this paper they are mainly related to the errors performed during the data extraction. The possible errors are due to the extraction of: design entities from the source code. We consider they were extracted with a high degree of precision recall. defects from the CVS version repository Bugzilla bug tracking system. We use the free Eclipse bug data set containing the defects involved in the study presented in [17].

4 ECLIPSE PRE ECLIPSE PRE ECLIPSE POST ECLIPSE POST Row Sums throw Sums (a) Contingency Table for. Do not (b) Contingency Table for (c) Expected Values for. Do Do not not (d) Expected Values for. ECLIPSE PRE ECLIPSE PRE Figure 2: Eclipse Contingency Tables Expected Values. ECLIPSE POST ECLIPSE POST Row Sums not throw Sums Sums (a) Contingency Table for. Do not (b) Contingency Table for (c) Expected Values for. Do Do not not or (d) Expected Values for. ECLIPSE PRE ECLIPSE PRE Figure 3: Eclipse Contingency Tables Expected Values. ECLIPSE POST ECLIPSE POST Row Sums throw Sums Sums (a) Contingency Table for. Do not (b) Contingency Table for (c) Expected Values for. Do Do not not or (d) Expected Values for. Figure 4: Eclipse Contingency Tables Expected Values.

5 Consequently, all the encountered threats to the construct validity we can find in the mentioned study are also found in our study. We use only non parametric statistical tests all the assumptions required by the used tests were satisfied. Internal validity. This aspect of validity is related to the causal relations that are inferred. Since our study is an exploratory one, this aspect is out of interest. External validity. The reported results are obtained by analyzing three versions of the well known Eclipse open source software system. This system is the subject of many empirical studies (e.g., [7] [17] [10]), like the previous studies, we do not suggest generalizing our research results to other systems unless further case studies are performed. Reliability validity. This aspect concerns the fact that a later investigator that conduct the same case study like the one presented here should obtain the same results, consequently, reach the same conclusions. We consider we provided enough information about the conducted study in order to let it be replicated. The source code of Eclipse is freely available, as well as the number of bugs it exhibits. The structure of the information extracted from the source code as well as the approach according to it has been extracted are presented in this paper. 6. CONCLUSIONS AND FUTURE WORK In this paper we present an empirical study performed upon three releases of Eclipse that provides evidence about a positive correlation between the classes that use exceptions the defects those classes exhibit. We show that the classes which use exceptions are more likely to exhibit defects (, as well as ) than the classes which do not use exceptions. We consider our finding may be correlated with an improper usage of exceptions in the source code. Consequently, a further step is to answer the following research question: Are classes which hle improperly the exceptions more defect prone than classes which do not hle improperly the exceptions? In this context an important question is Which are the improper usages of exceptions we should consider? Some static analyses related to an improper usage of exceptions in the source code are embedded by different tools for source code analysis (e.g., [1, 2]). For example, Check- Style provides a check called RedundantThrows [2] that verifies for redundant exceptions declared in throws clauses such as duplicates, unchecked exceptions or subclasses of another declared exception. We believe the list of the relevant analyses we should take into consideration is open for discussions. Last but not least we intend to replicate this study against other systems in order to see if the results obtained in this study can be generalized. Acknowledgments. I would like to thank Thomas Zimmermann, Rahul Premraj Andreas Zeller for making available the Eclipse bug data from [17] within the PROMISE data set [3]. I also owe a lot to Radu Marinescu, Ioana Verebi George Ganea for contributing, over the years, to the high degree of scalability IPLASMA reveals now. Last but not least I would like to deeply thanks Mihai Balint for spending almost an entire Sunday in order to make possible the extraction of data from Eclipse. 7. REFERENCES [1] FindBugs - find bugs in Java programs, last published: [2] CheckStyle - write Java code that adheres to a coding stard, last published: [3] G. Boetticher, T. Menzies, T. Ostr. PROMISE Repository of empirical software engineering data, West Virginia University, Department of Computer Science, [4] Magiel Bruntink. Reengineering idiomatic exception hling in legacy C code. In Proceedings of the 12th European Conference on Software Maintenance Reengineering (CSMR). IEEE Computer Society, [5] Magiel Bruntink, Arie van Deursen, Tom Tourwé. Discovering faults in idiom-based exception hling. In Proc. International Conference on Software Engineering (ICSE). ACM Press, [6] Chen Fu Barbara G. Ryder. Exception-chain analysis: ing exception hling architecture in java server applications. In Proceedings of the 29th international conference on Software Engineering, ICSE 07, pages , Washington, DC, USA, IEEE Computer Society. [7] Wei Li Raed Shatnawi. An empirical study of the bad smells class error probability in the post-release object-oriented system evolution. Journal of Systems Software, 80, July [8] C. Marinescu, R. Marinescu, P.F. Mihancea, D. Raţiu, R. Wettel. iplasma: An integrated platform for quality assessment of object-oriented design. In Proc. IEEE International Conference on Software Maintenance (ICSM Industrial Tool Volume), Budapest, Hungary. IEEE Computer Society Press, [9] Radu Marinescu Cristina Marinescu. Are the clients of flawed classes (also) defect prone? In 11th IEEE International Working Conference on Source Code Analysis Manipulation. IEEE Computer Society, [10] N. Nagappan, A. Zeller, T. Zimmermann, K. Herzig, B. Murphy. Change bursts as defect predictors. In IEEE 21st International Symposium on Software Reliability Engineering (ISSRE), [11] R Development Core Team. R: A Language Environment for Statistical Computing. R Foundation for Statistical Computing, Web page: http: //findbugs.sourceforge.net, ISBN [12] D. Raţiu. Memoria: A Unified Meta-Model for Java C++. Master Thesis, "Politehnica" University of Timişoara, [13] Martin P. Robillard Gail C. Murphy. Static analysis to support the evolution of exception structure in object-oriented systems. ACM Transactions on Software Engineering Methodology, 12, [14] Hina B. Shah, Carsten Gorg, Mary Jean Harrold. Understing exception hling: Viewpoints of novices experts. IEEE Transactions on Software Engineering, 99(RapidPosts): , [15] David J. Sheskin. Hbook of Parametric Nonparametric Statistical Procedures, 4th edition. Chapman&Hall/CRC, [16] Robert K. Yin. Case Study Research: Design Methods., 3rd edition. SAGE Publications, [17] Thomas Zimmermann, Rahul Premraj, Andreas Zeller. Predicting defects for Eclipse. In Third International Workshop on Predictor Models in Software Engineering. IEEE Computer Society, 2007.

Empirical Software Engineering. Empirical Software Engineering with Examples! is not a topic for examination. Classification.

Empirical Software Engineering. Empirical Software Engineering with Examples! is not a topic for examination. Classification. Empirical Software Engineering Empirical Software Engineering with Examples is not a topic for examination a sub-domain of software engineering focusing on experiments on software systems devise experiments

More information

Empirical Software Engineering. Empirical Software Engineering with Examples. Classification. Software Quality. precision = TP/(TP + FP)

Empirical Software Engineering. Empirical Software Engineering with Examples. Classification. Software Quality. precision = TP/(TP + FP) Empirical Software Engineering Empirical Software Engineering with Examples a sub-domain of software engineering focusing on experiments on software systems devise experiments on software, in collecting

More information

Bug Inducing Analysis to Prevent Fault Prone Bug Fixes

Bug Inducing Analysis to Prevent Fault Prone Bug Fixes Bug Inducing Analysis to Prevent Fault Prone Bug Fixes Haoyu Yang, Chen Wang, Qingkai Shi, Yang Feng, Zhenyu Chen State Key Laboratory for ovel Software Technology, anjing University, anjing, China Corresponding

More information

NaCIN An Eclipse Plug-In for Program Navigation-based Concern Inference

NaCIN An Eclipse Plug-In for Program Navigation-based Concern Inference NaCIN An Eclipse Plug-In for Program Navigation-based Concern Inference Imran Majid and Martin P. Robillard School of Computer Science McGill University Montreal, QC, Canada {imajid, martin} @cs.mcgill.ca

More information

SHOTGUN SURGERY DESIGN FLAW DETECTION. A CASE-STUDY

SHOTGUN SURGERY DESIGN FLAW DETECTION. A CASE-STUDY STUDIA UNIV. BABEŞ BOLYAI, INFORMATICA, Volume LVIII, Number 4, 2013 SHOTGUN SURGERY DESIGN FLAW DETECTION. A CASE-STUDY CAMELIA ŞERBAN Abstract. Due to the complexity of object oriented design, its assessment

More information

Exploring the Relationship of History Characteristics and Defect Count: An Empirical Study

Exploring the Relationship of History Characteristics and Defect Count: An Empirical Study Exploring the Relationship of History Characteristics and Defect Count: An Empirical Study Timea Illes-Seifert Institute for Computer Science University of Heidelberg Im Neuenheimer Feld 326, D-69120 Heidelberg

More information

Filtering out methods you wish you hadn t navigated

Filtering out methods you wish you hadn t navigated Filtering out methods you wish you hadn t navigated Annie T.T. Ying, Peri L. Tarr IBM Watson Research Center aying@us.ibm.com,tarr@us.ibm.com ABSTRACT The navigation of structural dependencies (e.g., method

More information

Empirical Study on Impact of Developer Collaboration on Source Code

Empirical Study on Impact of Developer Collaboration on Source Code Empirical Study on Impact of Developer Collaboration on Source Code Akshay Chopra University of Waterloo Waterloo, Ontario a22chopr@uwaterloo.ca Parul Verma University of Waterloo Waterloo, Ontario p7verma@uwaterloo.ca

More information

A Case Study on the Similarity Between Source Code and Bug Reports Vocabularies

A Case Study on the Similarity Between Source Code and Bug Reports Vocabularies A Case Study on the Similarity Between Source Code and Bug Reports Vocabularies Diego Cavalcanti 1, Dalton Guerrero 1, Jorge Figueiredo 1 1 Software Practices Laboratory (SPLab) Federal University of Campina

More information

Visualization of Exception Handling Constructs to Support Program Understanding

Visualization of Exception Handling Constructs to Support Program Understanding Visualization of Exception Handling Constructs to Support Program Understanding Hina Shah Carsten Görg and Mary Jean Harrold Supported by NSF under CCR-0205422, CCF-0429117, CCF-0541049, and CCF-0725202,

More information

Managing Open Bug Repositories through Bug Report Prioritization Using SVMs

Managing Open Bug Repositories through Bug Report Prioritization Using SVMs Managing Open Bug Repositories through Bug Report Prioritization Using SVMs Jaweria Kanwal Quaid-i-Azam University, Islamabad kjaweria09@yahoo.com Onaiza Maqbool Quaid-i-Azam University, Islamabad onaiza@qau.edu.pk

More information

Employing Query Technologies for Crosscutting Concern Comprehension

Employing Query Technologies for Crosscutting Concern Comprehension Employing Query Technologies for Crosscutting Concern Comprehension Marius Marin Accenture The Netherlands Marius.Marin@accenture.com Abstract Common techniques for improving comprehensibility of software

More information

A Study on Inappropriately Partitioned Commits How Much and What Kinds of IP Commits in Java Projects?

A Study on Inappropriately Partitioned Commits How Much and What Kinds of IP Commits in Java Projects? How Much and What Kinds of IP Commits in Java Projects? Ryo Arima r-arima@ist.osaka-u.ac.jp Yoshiki Higo higo@ist.osaka-u.ac.jp Shinji Kusumoto kusumoto@ist.osaka-u.ac.jp ABSTRACT When we use code repositories,

More information

Cross-project defect prediction. Thomas Zimmermann Microsoft Research

Cross-project defect prediction. Thomas Zimmermann Microsoft Research Cross-project defect prediction Thomas Zimmermann Microsoft Research Upcoming Events ICSE 2010: http://www.sbs.co.za/icse2010/ New Ideas and Emerging Results ACM Student Research Competition (SRC) sponsored

More information

Towards Cohesion-based Metrics as Early Quality Indicators of Faulty Classes and Components

Towards Cohesion-based Metrics as Early Quality Indicators of Faulty Classes and Components 2009 International Symposium on Computing, Communication, and Control (ISCCC 2009) Proc.of CSIT vol.1 (2011) (2011) IACSIT Press, Singapore Towards Cohesion-based Metrics as Early Quality Indicators of

More information

A Detailed Examination of the Correlation Between Imports and Failure-Proneness of Software Components

A Detailed Examination of the Correlation Between Imports and Failure-Proneness of Software Components A Detailed Examination of the Correlation Between Imports and Failure-Proneness of Software Components Ekwa Duala-Ekoko and Martin P. Robillard School of Computer Science, McGill University Montréal, Québec,

More information

EasyChair Preprint. A Study on the Use of IDE Features for Debugging

EasyChair Preprint. A Study on the Use of IDE Features for Debugging EasyChair Preprint 111 A Study on the Use of IDE Features for Debugging Afsoon Afzal and Claire Le Goues EasyChair preprints are intended for rapid dissemination of research results and are integrated

More information

BugMaps-Granger: A Tool for Causality Analysis between Source Code Metrics and Bugs

BugMaps-Granger: A Tool for Causality Analysis between Source Code Metrics and Bugs BugMaps-Granger: A Tool for Causality Analysis between Source Code Metrics and Bugs Cesar Couto, Pedro Pires, Marco Tulio Valente, Roberto Bigonha, Andre Hora, Nicolas Anquetil To cite this version: Cesar

More information

Sort-based Refactoring of Crosscutting Concerns to Aspects

Sort-based Refactoring of Crosscutting Concerns to Aspects Sort-based Refactoring of Crosscutting Concerns to Aspects Robin van der Rijst Delft University of Technology rvdrijst@gmail.com Marius Marin Accenture Marius.Marin@accenture.com Arie van Deursen Delft

More information

A Study of Bad Smells in Code

A Study of Bad Smells in Code International Journal for Science and Emerging ISSN No. (Online):2250-3641 Technologies with Latest Trends 7(1): 16-20 (2013) ISSN No. (Print): 2277-8136 A Study of Bad Smells in Code Gurpreet Singh* and

More information

Association between JPL Coding Standard Violations and Software Faults: An Exploratory Study

Association between JPL Coding Standard Violations and Software Faults: An Exploratory Study Association between JPL Coding Standard Violations and Software Faults: An Exploratory Study Bashar Q. Ahmed Computer Science Department Taiz University Taiz, Yemen Mahmoud O. Elish Computer Science Department

More information

Mining the Relationship between Anti-patterns Dependencies and Fault-Proneness

Mining the Relationship between Anti-patterns Dependencies and Fault-Proneness Mining the Relationship between Anti-patterns Dependencies and Fault-Proneness Fehmi Jaafar, Yann-Gaël Guéhéneuc, Sylvie Hamel and Foutse Khomh PTIDEJ Team, École Polytechnique de Montréal, QC, Canada

More information

An Empirical Study of the Effect of File Editing Patterns on Software Quality

An Empirical Study of the Effect of File Editing Patterns on Software Quality An Empirical Study of the Effect of File Editing Patterns on Software Quality Feng Zhang, Foutse Khomh, Ying Zou, and Ahmed E. Hassan School of Computing, Queen s University, Canada {feng, ahmed}@cs.queensu.ca

More information

Efficient Regression Test Model for Object Oriented Software

Efficient Regression Test Model for Object Oriented Software Efficient Regression Test Model for Object Oriented Software Swarna Lata Pati College of Engg. & Tech, Bhubaneswar Abstract : This paper presents an efficient regression testing model with an integration

More information

Data Mining. 2.4 Data Integration. Fall Instructor: Dr. Masoud Yaghini. Data Integration

Data Mining. 2.4 Data Integration. Fall Instructor: Dr. Masoud Yaghini. Data Integration Data Mining 2.4 Fall 2008 Instructor: Dr. Masoud Yaghini Data integration: Combines data from multiple databases into a coherent store Denormalization tables (often done to improve performance by avoiding

More information

Data Mining: Concepts and Techniques. (3 rd ed.) Chapter 3. Chapter 3: Data Preprocessing. Major Tasks in Data Preprocessing

Data Mining: Concepts and Techniques. (3 rd ed.) Chapter 3. Chapter 3: Data Preprocessing. Major Tasks in Data Preprocessing Data Mining: Concepts and Techniques (3 rd ed.) Chapter 3 1 Chapter 3: Data Preprocessing Data Preprocessing: An Overview Data Quality Major Tasks in Data Preprocessing Data Cleaning Data Integration Data

More information

International Journal for Management Science And Technology (IJMST)

International Journal for Management Science And Technology (IJMST) Volume 4; Issue 03 Manuscript- 1 ISSN: 2320-8848 (Online) ISSN: 2321-0362 (Print) International Journal for Management Science And Technology (IJMST) GENERATION OF SOURCE CODE SUMMARY BY AUTOMATIC IDENTIFICATION

More information

arxiv: v1 [cs.pl] 30 Sep 2013

arxiv: v1 [cs.pl] 30 Sep 2013 Retargeting GCC: Do We Reinvent the Wheel Every Time? Saravana Perumal P Department of CSE, IIT Kanpur saravanan1986@gmail.com Amey Karkare Department of CSE, IIT Kanpur karkare@cse.iitk.ac.in arxiv:1309.7685v1

More information

Data Analysis and Solver Plugins for KSpread USER S MANUAL. Tomasz Maliszewski

Data Analysis and Solver Plugins for KSpread USER S MANUAL. Tomasz Maliszewski Data Analysis and Solver Plugins for KSpread USER S MANUAL Tomasz Maliszewski tmaliszewski@wp.pl Table of Content CHAPTER 1: INTRODUCTION... 3 1.1. ABOUT DATA ANALYSIS PLUGIN... 3 1.3. ABOUT SOLVER PLUGIN...

More information

The Comparative Study of Machine Learning Algorithms in Text Data Classification*

The Comparative Study of Machine Learning Algorithms in Text Data Classification* The Comparative Study of Machine Learning Algorithms in Text Data Classification* Wang Xin School of Science, Beijing Information Science and Technology University Beijing, China Abstract Classification

More information

Mining Frequent Bug-Fix Code Changes

Mining Frequent Bug-Fix Code Changes Mining Frequent Bug-Fix Code Changes Haidar Osman, Mircea Lungu, Oscar Nierstrasz Software Composition Group University of Bern Bern, Switzerland {osman, lungu, oscar@iam.unibe.ch Abstract Detecting bugs

More information

Are Refactorings Less Error-prone Than Other Changes?

Are Refactorings Less Error-prone Than Other Changes? Are Refactorings Less Error-prone Than Other Changes? Peter Weißgerber University of Trier Computer Science Department 54286 Trier, Germany weissger@uni-trier.de Stephan Diehl University of Trier Computer

More information

HangMan PBL - Refactoring Use yourupdated (best) version of Hangman(with a dictionary of words).

HangMan PBL - Refactoring Use yourupdated (best) version of Hangman(with a dictionary of words). Use yourupdated (best) version of Hangman(with a dictionary of words). 1. Detect potential problems: a. Metric values out of bounds? (Your code should pass this?) b. Poor object oriented design that gives

More information

Imagine you ve written a piece of code but then accidentally deleted and lost it.

Imagine you ve written a piece of code but then accidentally deleted and lost it. Why Refactor? Imagine you ve written a piece of code but then accidentally deleted and lost it. Questions: How much time would it take you to reconstruct from scratch what you had the same amount, or more,

More information

An Attempt to Identify Weakest and Strongest Queries

An Attempt to Identify Weakest and Strongest Queries An Attempt to Identify Weakest and Strongest Queries K. L. Kwok Queens College, City University of NY 65-30 Kissena Boulevard Flushing, NY 11367, USA kwok@ir.cs.qc.edu ABSTRACT We explore some term statistics

More information

Filtering Bug Reports for Fix-Time Analysis

Filtering Bug Reports for Fix-Time Analysis Filtering Bug Reports for Fix-Time Analysis Ahmed Lamkanfi, Serge Demeyer LORE - Lab On Reengineering University of Antwerp, Belgium Abstract Several studies have experimented with data mining algorithms

More information

SOFTWARE DEFECT PREDICTION USING PARTICIPATION OF NODES IN SOFTWARE COUPLING

SOFTWARE DEFECT PREDICTION USING PARTICIPATION OF NODES IN SOFTWARE COUPLING SOFTWARE DEFECT PREDICTION USING PARTICIPATION OF NODES IN SOFTWARE COUPLING 1 MARYAM SHEKOFTEH, 2 KEYVAN MOHEBBI, 3 JAVAD KAMYABI 1 Department Of Computer Engineering, Sarvestan Branch, Islamic Azad University,

More information

Introduction to Extended Common Coupling with an Application Study on Linux

Introduction to Extended Common Coupling with an Application Study on Linux Introduction to Extended Common Coupling with an Application Study on Linux Liguo Yu Computer Science and Informatics Indiana University South Bend 1700 Mishawaka Ave. P.O. Box 7111 South Bend, IN 46634,

More information

HOW AND WHEN TO FLATTEN JAVA CLASSES?

HOW AND WHEN TO FLATTEN JAVA CLASSES? HOW AND WHEN TO FLATTEN JAVA CLASSES? Jehad Al Dallal Department of Information Science, P.O. Box 5969, Safat 13060, Kuwait ABSTRACT Improving modularity and reusability are two key objectives in object-oriented

More information

QTEP: Quality-Aware Test Case Prioritization

QTEP: Quality-Aware Test Case Prioritization QTEP: Quality-Aware Test Case Prioritization {song.wang,jc.nam,lintan}@uwaterloo.ca Electrical and Computer Engineering, University of Waterloo Waterloo, ON, Canada ABSTRACT Test case prioritization (TCP)

More information

Impact of Dependency Graph in Software Testing

Impact of Dependency Graph in Software Testing Impact of Dependency Graph in Software Testing Pardeep Kaur 1, Er. Rupinder Singh 2 1 Computer Science Department, Chandigarh University, Gharuan, Punjab 2 Assistant Professor, Computer Science Department,

More information

Risk-based Object Oriented Testing

Risk-based Object Oriented Testing Risk-based Object Oriented Testing Linda H. Rosenberg, Ph.D. Ruth Stapko Albert Gallo NASA GSFC SATC NASA, Unisys SATC NASA, Unisys Code 302 Code 300.1 Code 300.1 Greenbelt, MD 20771 Greenbelt, MD 20771

More information

Effect of Principle Component Analysis and Support Vector Machine in Software Fault Prediction

Effect of Principle Component Analysis and Support Vector Machine in Software Fault Prediction International Journal of Computer Trends and Technology (IJCTT) volume 7 number 3 Jan 2014 Effect of Principle Component Analysis and Support Vector Machine in Software Fault Prediction A. Shanthini 1,

More information

Using Concept Analysis to Detect Co-Change Patterns

Using Concept Analysis to Detect Co-Change Patterns Using Concept Analysis to Detect Co-Change Patterns In Proceedings of International Workshop on Principles of Software Evolution (IWPSE 2007) Tudor Gîrba Software Composition Group University of Bern Radu

More information

Static Analysis of C++ Projects with CodeSonar

Static Analysis of C++ Projects with CodeSonar Static Analysis of C++ Projects with CodeSonar John Plaice, Senior Scientist, GrammaTech jplaice@grammatech.com 25 July 2017, Meetup C++ de Montréal Abstract Static program analysis consists of the analysis

More information

Program Partitioning - A Framework for Combining Static and Dynamic Analysis

Program Partitioning - A Framework for Combining Static and Dynamic Analysis Program Partitioning - A Framework for Combining Static and Dynamic Analysis Pankaj Jalote, Vipindeep V, Taranbir Singh, Prateek Jain Department of Computer Science and Engineering Indian Institute of

More information

Detecting Polytomous Items That Have Drifted: Using Global Versus Step Difficulty 1,2. Xi Wang and Ronald K. Hambleton

Detecting Polytomous Items That Have Drifted: Using Global Versus Step Difficulty 1,2. Xi Wang and Ronald K. Hambleton Detecting Polytomous Items That Have Drifted: Using Global Versus Step Difficulty 1,2 Xi Wang and Ronald K. Hambleton University of Massachusetts Amherst Introduction When test forms are administered to

More information

Investigation of Metrics for Object-Oriented Design Logical Stability

Investigation of Metrics for Object-Oriented Design Logical Stability Investigation of Metrics for Object-Oriented Design Logical Stability Mahmoud O. Elish Department of Computer Science George Mason University Fairfax, VA 22030-4400, USA melish@gmu.edu Abstract As changes

More information

RiMOM Results for OAEI 2009

RiMOM Results for OAEI 2009 RiMOM Results for OAEI 2009 Xiao Zhang, Qian Zhong, Feng Shi, Juanzi Li and Jie Tang Department of Computer Science and Technology, Tsinghua University, Beijing, China zhangxiao,zhongqian,shifeng,ljz,tangjie@keg.cs.tsinghua.edu.cn

More information

Churrasco: Supporting Collaborative Software Evolution Analysis

Churrasco: Supporting Collaborative Software Evolution Analysis Churrasco: Supporting Collaborative Software Evolution Analysis Marco D Ambros a, Michele Lanza a a REVEAL @ Faculty of Informatics - University of Lugano, Switzerland Abstract Analyzing the evolution

More information

Implementation of Customized FindBugs Detectors

Implementation of Customized FindBugs Detectors Implementation of Customized FindBugs Detectors Jerry Zhang Department of Computer Science University of British Columbia jezhang@cs.ubc.ca ABSTRACT There are a lot of static code analysis tools to automatically

More information

Question 1: What is a code walk-through, and how is it performed?

Question 1: What is a code walk-through, and how is it performed? Question 1: What is a code walk-through, and how is it performed? Response: Code walk-throughs have traditionally been viewed as informal evaluations of code, but more attention is being given to this

More information

Visualization of Clone Detection Results

Visualization of Clone Detection Results Visualization of Clone Detection Results Robert Tairas and Jeff Gray Department of Computer and Information Sciences University of Alabama at Birmingham Birmingham, AL 5294-1170 1-205-94-221 {tairasr,

More information

A Framework for Detecting Performance Design and Deployment Antipatterns in Component Based Enterprise Systems

A Framework for Detecting Performance Design and Deployment Antipatterns in Component Based Enterprise Systems A Framework for Detecting Performance Design and Deployment Antipatterns in Component Based Enterprise Systems Trevor Parsons Performance Engineering Laboratory University College Dublin Ireland trevparsons@gmail.com

More information

Beyond the Refactoring Browser: Advanced Tool Support for Software Refactoring

Beyond the Refactoring Browser: Advanced Tool Support for Software Refactoring Beyond the Refactoring Browser: Advanced Tool Support for Software Refactoring Tom Mens Tom Tourwé Francisca Muñoz Programming Technology Lab Vrije Universiteit Brussel Pleinlaan 2, 1050 Brussel, Belgium

More information

Improving Evolvability through Refactoring

Improving Evolvability through Refactoring Improving Evolvability through Refactoring Jacek Ratzinger, Michael Fischer Vienna University of Technology Institute of Information Systems A-1040 Vienna, Austria {ratzinger,fischer}@infosys.tuwien.ac.at

More information

Appendix to The Health of Software Engineering Research

Appendix to The Health of Software Engineering Research Appendix to The Health of Software Engineering Research David Lo School of Information Systems Singapore Management University Singapore davidlo@smu.edu.sg Nachiappan Nagappan and Thomas Zimmermann Research

More information

Software Testing CS 408

Software Testing CS 408 Software Testing CS 408 1/09/18 Course Webpage: http://www.cs.purdue.edu/homes/suresh/408-spring2018 1 The Course Understand testing in the context of an Agile software development methodology - Detail

More information

Requirements Engineering for Enterprise Systems

Requirements Engineering for Enterprise Systems Association for Information Systems AIS Electronic Library (AISeL) AMCIS 2001 Proceedings Americas Conference on Information Systems (AMCIS) December 2001 Requirements Engineering for Enterprise Systems

More information

Automatic Identification of Bug-Introducing Changes

Automatic Identification of Bug-Introducing Changes Automatic Identification of Bug-Introducing Changes Sunghun Kim 1, Thomas Zimmermann 2, Kai Pan 1, E. James Whitehead, Jr. 1 1 University of California, Santa Cruz, CA, USA {hunkim, pankai, ejw}@cs.ucsc.edu

More information

Spatial Patterns Point Pattern Analysis Geographic Patterns in Areal Data

Spatial Patterns Point Pattern Analysis Geographic Patterns in Areal Data Spatial Patterns We will examine methods that are used to analyze patterns in two sorts of spatial data: Point Pattern Analysis - These methods concern themselves with the location information associated

More information

A Java Execution Simulator

A Java Execution Simulator A Java Execution Simulator Steven Robbins Department of Computer Science University of Texas at San Antonio srobbins@cs.utsa.edu ABSTRACT This paper describes JES, a Java Execution Simulator that allows

More information

Quantifying and Assessing the Merge of Cloned Web-Based System: An Exploratory Study

Quantifying and Assessing the Merge of Cloned Web-Based System: An Exploratory Study Quantifying and Assessing the Merge of Cloned Web-Based System: An Exploratory Study Jadson Santos Department of Informatics and Applied Mathematics Federal University of Rio Grande do Norte, UFRN Natal,

More information

By choosing to view this document, you agree to all provisions of the copyright laws protecting it.

By choosing to view this document, you agree to all provisions of the copyright laws protecting it. Copyright [2009] IEEE. Reprinted from Testing: Academic & Industrial Conference - Practice and Research Techniques (TAIC-PART 09), Windsor (UK), September 4-6, 2009, pp. 135-143, IEEE Computer Society

More information

An Empirical Study of Architectural Decay in Open-Source Software

An Empirical Study of Architectural Decay in Open-Source Software An Empirical Study of Architectural Decay in Open-Source Software Duc M. Le Annual Research Review 4/2017 Center for Systems and Software Engineering Motivation Explicitly manifest as Issues Problems Implicitly

More information

Source code that talks: an exploration of Eclipse task comments and their implication to repository mining

Source code that talks: an exploration of Eclipse task comments and their implication to repository mining Source code that talks: an exploration of Eclipse task comments and their implication to repository mining Annie T.T. Ying, James L. Wright, Steven Abrams IBM Watson Research Center 19 Skyline Drive, Hawthorne,

More information

Performance Degradation Assessment and Fault Diagnosis of Bearing Based on EMD and PCA-SOM

Performance Degradation Assessment and Fault Diagnosis of Bearing Based on EMD and PCA-SOM Performance Degradation Assessment and Fault Diagnosis of Bearing Based on EMD and PCA-SOM Lu Chen and Yuan Hang PERFORMANCE DEGRADATION ASSESSMENT AND FAULT DIAGNOSIS OF BEARING BASED ON EMD AND PCA-SOM.

More information

Image resizing and image quality

Image resizing and image quality Rochester Institute of Technology RIT Scholar Works Theses Thesis/Dissertation Collections 2001 Image resizing and image quality Michael Godlewski Follow this and additional works at: http://scholarworks.rit.edu/theses

More information

SERG. Sort-based Refactoring of Crosscutting Concerns to Aspects

SERG. Sort-based Refactoring of Crosscutting Concerns to Aspects Delft University of Technology Software Engineering Research Group Technical Report Series Sort-based Refactoring of Crosscutting Concerns to Aspects Robin van der Rijst, Marius Marin, and Arie van Deursen

More information

Context based optimal shape coding

Context based optimal shape coding IEEE Signal Processing Society 1999 Workshop on Multimedia Signal Processing September 13-15, 1999, Copenhagen, Denmark Electronic Proceedings 1999 IEEE Context based optimal shape coding Gerry Melnikov,

More information

Fault Class Prioritization in Boolean Expressions

Fault Class Prioritization in Boolean Expressions Fault Class Prioritization in Boolean Expressions Ziyuan Wang 1,2 Zhenyu Chen 1 Tsong-Yueh Chen 3 Baowen Xu 1,2 1 State Key Laboratory for Novel Software Technology, Nanjing University, Nanjing 210093,

More information

Mubug: a mobile service for rapid bug tracking

Mubug: a mobile service for rapid bug tracking . MOO PAPER. SCIENCE CHINA Information Sciences January 2016, Vol. 59 013101:1 013101:5 doi: 10.1007/s11432-015-5506-4 Mubug: a mobile service for rapid bug tracking Yang FENG, Qin LIU *,MengyuDOU,JiaLIU&ZhenyuCHEN

More information

Processing and Data Collection of Program Structures in Open Source Repositories

Processing and Data Collection of Program Structures in Open Source Repositories 8 Processing and Data Collection of Program Structures in Open Source Repositories JEAN PETRIĆ, TIHANA GALINAC GRBAC and MARIO DUBRAVAC, University of Rijeka Software structure analysis with help of network

More information

A Framework for Securing Databases from Intrusion Threats

A Framework for Securing Databases from Intrusion Threats A Framework for Securing Databases from Intrusion Threats R. Prince Jeyaseelan James Department of Computer Applications, Valliammai Engineering College Affiliated to Anna University, Chennai, India Email:

More information

Discovering Faults in Idiom- Based Exception Handling. Magiel Bruntink, Arie van Deursen & Tom Tourwé

Discovering Faults in Idiom- Based Exception Handling. Magiel Bruntink, Arie van Deursen & Tom Tourwé Discovering Faults in Idiom- Based Exception Handling Magiel Bruntink, Arie van Deursen & Tom Tourwé Implementing crosscutting concerns by means of idioms is fault prone 1. what are crosscutting concerns?

More information

Understading Refactorings

Understading Refactorings Understading Refactorings Ricardo Terra terra@dcc.ufmg.br Marco Túlio Valente mtov@dcc.ufmg.br UFMG, 2010 UFMG, 2010 Understanding Refactorings 1 / 36 Agenda 1 Overview 2 Refactoring 3 Final Considerations

More information

Measuring Complexity

Measuring Complexity Measuring Complexity outline why should we measure the complexity of a software system? what might we want to measure? complexity of the source code within a code module between code modules complexity

More information

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation 1 Objectives To introduce software verification and validation and to discuss the distinction between them To describe the program inspection process and its role in V & V To

More information

Homework #1, on the class web pages later today

Homework #1, on the class web pages later today Assertions Reading assignment A. J. Offutt, A Practical System for Mutation Testing: Help for the Common Programmer, Proceedings of the 12th International Conference on Testing Computer Software, Washington,

More information

Leveraging Transitive Relations for Crowdsourced Joins*

Leveraging Transitive Relations for Crowdsourced Joins* Leveraging Transitive Relations for Crowdsourced Joins* Jiannan Wang #, Guoliang Li #, Tim Kraska, Michael J. Franklin, Jianhua Feng # # Department of Computer Science, Tsinghua University, Brown University,

More information

SHINOBI: A Real-Time Code Clone Detection Tool for Software Maintenance

SHINOBI: A Real-Time Code Clone Detection Tool for Software Maintenance : A Real-Time Code Clone Detection Tool for Software Maintenance Takanobu Yamashina Hidetake Uwano Kyohei Fushida Yasutaka Kamei Masataka Nagura Shinji Kawaguchi Hajimu Iida Nara Institute of Science and

More information

Application of Clustering Techniques to Energy Data to Enhance Analysts Productivity

Application of Clustering Techniques to Energy Data to Enhance Analysts Productivity Application of Clustering Techniques to Energy Data to Enhance Analysts Productivity Wendy Foslien, Honeywell Labs Valerie Guralnik, Honeywell Labs Steve Harp, Honeywell Labs William Koran, Honeywell Atrium

More information

WEB ANALYTICS A REPORTING APPROACH

WEB ANALYTICS A REPORTING APPROACH WEB ANALYTICS A REPORTING APPROACH By Robert Blakeley, Product Manager WebMD A web analytics program consists of many elements. One of the important elements in the process is the reporting. This step

More information

Further Thoughts on Precision

Further Thoughts on Precision Further Thoughts on Precision David Gray, David Bowes, Neil Davey, Yi Sun and Bruce Christianson Abstract Background: There has been much discussion amongst automated software defect prediction researchers

More information

Wrapper: An Application for Evaluating Exploratory Searching Outside of the Lab

Wrapper: An Application for Evaluating Exploratory Searching Outside of the Lab Wrapper: An Application for Evaluating Exploratory Searching Outside of the Lab Bernard J Jansen College of Information Sciences and Technology The Pennsylvania State University University Park PA 16802

More information

Visualizing the evolution of software using softchange

Visualizing the evolution of software using softchange Visualizing the evolution of software using softchange Daniel M. German, Abram Hindle and Norman Jordan Software Engineering Group Department of Computer Science University of Victoria dmgerman,abez,njordan

More information

Visualization and Analysis of Inverse Kinematics Algorithms Using Performance Metric Maps

Visualization and Analysis of Inverse Kinematics Algorithms Using Performance Metric Maps Visualization and Analysis of Inverse Kinematics Algorithms Using Performance Metric Maps Oliver Cardwell, Ramakrishnan Mukundan Department of Computer Science and Software Engineering University of Canterbury

More information

Software Metrics based on Coding Standards Violations

Software Metrics based on Coding Standards Violations Software Metrics based on Coding Standards Violations Yasunari Takai, Takashi Kobayashi and Kiyoshi Agusa Graduate School of Information Science, Nagoya University Aichi, 464-8601, Japan takai@agusa.i.is.nagoya-u.ac.jp,

More information

Probabilistic Models of Software Function Point Elements

Probabilistic Models of Software Function Point Elements Probabilistic Models of Software Function Point Elements Masood Uzzafer Amity university Dubai Dubai, U.A.E. Email: muzzafer [AT] amityuniversity.ae Abstract Probabilistic models of software function point

More information

Classifying Bug Reports to Bugs and Other Requests Using Topic Modeling

Classifying Bug Reports to Bugs and Other Requests Using Topic Modeling Classifying Bug Reports to Bugs and Other Requests Using Topic Modeling Natthakul Pingclasai Department of Computer Engineering Kasetsart University Bangkok, Thailand Email: b5310547207@ku.ac.th Hideaki

More information

A Systematic Review of Bad Smells Metrics. Luiz Paulo Coelho Ferreira

A Systematic Review of Bad Smells Metrics. Luiz Paulo Coelho Ferreira A Systematic Review of Bad Smells Metrics Luiz Paulo Coelho Ferreira Motivation One of the main goals in Software Engineering is to transform software development in a process predictable and controlled.

More information

Inter-Project Dependencies in Java Software Ecosystems

Inter-Project Dependencies in Java Software Ecosystems Inter-Project Dependencies Inter-Project Dependencies in Java Software Ecosystems in Java Software Ecosystems Antonín Procházka 1, Mircea Lungu 2, Karel Richta 3 Antonín Procházka 1, Mircea Lungu 2, Karel

More information

Bug or Not? Bug Report Classification using N-Gram IDF

Bug or Not? Bug Report Classification using N-Gram IDF Bug or Not? Bug Report Classification using N-Gram IDF Pannavat Terdchanakul 1, Hideaki Hata 1, Passakorn Phannachitta 2, and Kenichi Matsumoto 1 1 Graduate School of Information Science, Nara Institute

More information

Agenda. Tool-Supported Detection of Code Smells in Software Aspectization. Motivation. Mistakes in Software Aspectization. Advice-related mistakes

Agenda. Tool-Supported Detection of Code Smells in Software Aspectization. Motivation. Mistakes in Software Aspectization. Advice-related mistakes Agenda Tool-Supported Detection of Code Smells in Software Aspectization Péricles Alves and Diogo Santana Recurring Mistakes Code Smells ConcernReCS Tool ConcernReCS Extension 1 Motivation AOP is about

More information

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification vs validation Verification: "Are we building the product right?. The software should

More information

Published in: Proceedings of International Workshop on Principles of Software Evolution (IWPSE 2007)

Published in: Proceedings of International Workshop on Principles of Software Evolution (IWPSE 2007) University of Groningen A Small Observatory for Super-Repositories Lungu, Micea-Filip; Gîrba, Tudor Published in: Proceedings of International Workshop on Principles of Software Evolution (IWPSE 2007)

More information

Relating Software Coupling Attribute and Security Vulnerability Attribute

Relating Software Coupling Attribute and Security Vulnerability Attribute Relating Software Coupling Attribute and Security Vulnerability Attribute Varadachari S. Ayanam, Frank Tsui, Sheryl Duggins, Andy Wang Southern Polytechnic State University Marietta, Georgia 30060 Abstract:

More information

AURA: A Hybrid Approach to Identify

AURA: A Hybrid Approach to Identify : A Hybrid to Identify Wei Wu 1, Yann-Gaël Guéhéneuc 1, Giuliano Antoniol 2, and Miryung Kim 3 1 Ptidej Team, DGIGL, École Polytechnique de Montréal, Canada 2 SOCCER Lab, DGIGL, École Polytechnique de

More information

Taxonomy Dimensions of Complexity Metrics

Taxonomy Dimensions of Complexity Metrics 96 Int'l Conf. Software Eng. Research and Practice SERP'15 Taxonomy Dimensions of Complexity Metrics Bouchaib Falah 1, Kenneth Magel 2 1 Al Akhawayn University, Ifrane, Morocco, 2 North Dakota State University,

More information

Understanding Semantic Impact of Source Code Changes: an Empirical Study

Understanding Semantic Impact of Source Code Changes: an Empirical Study Understanding Semantic Impact of Source Code Changes: an Empirical Study Danhua Shao, Sarfraz Khurshid, and Dewayne E. Perry Electrical and Computer Engineering, The University of Texas at Austin {dshao,

More information