%================ Related Works Section ==================
% for white paper
@article{10.1145/69605.2085,
 author = {Basili, Victor R. and Perricone, Barry T.},
 title = {Software Errors and Complexity:  An Empirical Investigation},
 year = {1984},
 issue_date = {January 1984},
 publisher = {Association for Computing Machinery},
 address = {New York, NY, USA},
 volume = {27},
 number = {1},
 issn_hidden = {0001-0782},
 url_hidden = {https://doi_hidden.org/10.1145/69605.2085},
 doi_hidden= {10.1145/69605.2085},
 journal = {Commun. ACM},
 month = jan,
 pages = {42–52},
 numpages = {11}
}

@inproceedings{10.5555/256664.256773,
 author = {Chillarege, Ram and Kao, Wei-Lun and Condit, Richard G.},
 title = {Defect Type and Its Impact on the Growth Curve},
 year = {1991},
 isbn_hidden = {0897913914},
 publisher = {IEEE Computer Society Press},
 address = {Washington, DC, USA},
 booktitle = {Proceedings of the 13th International Conference on Software Engineering},
 pages = {246–255},
 numpages = {10},
 location = {Austin, Texas, USA},
 series = {ICSE ’91}
}

@article{10.1145/390016.808455,
 author = {Endres, Albert},
 title = {An Analysis of Errors and Their Causes in System Programs},
 year = {1975},
 issue_date = {June 1975},
 publisher = {Association for Computing Machinery},
 address = {New York, NY, USA},
 volume = {10},
 number = {6},
 issn_hidden = {0362-1340},
 url_hidden = {https://doi_hidden.org/10.1145/390016.808455},
 doi_hidden= {10.1145/390016.808455},
 journal = {SIGPLAN Not.},
 month = apr,
 pages = {327–336},
 numpages = {10},
 keywords = {Software reliability, Programming methodology, Software error classification, Program testing}
}

@article{Glass1981PersistentSE,
  title={Persistent Software Errors},
  author={Robert L. Glass},
  journal={IEEE Transactions on Software Engineering},
  year={1981},
  volume={SE-7},
  pages={162-168}
}

@article{10.1145/1353535.1346323,
 author = {Lu, Shan and Park, Soyeon and Seo, Eunsoo and Zhou, Yuanyuan},
 title = {Learning from Mistakes: A Comprehensive Study on Real World Concurrency Bug Characteristics},
 year = {2008},
 issue_date = {March 2008},
 publisher = {Association for Computing Machinery},
 address = {New York, NY, USA},
 volume = {42},
 number = {2},
 issn_hidden = {0163-5980},
 url_hidden = {https://doi_hidden.org/10.1145/1353535.1346323},
 doi_hidden= {10.1145/1353535.1346323},
 journal = {SIGOPS Oper. Syst. Rev.},
 month = mar,
 pages = {329–339},
 numpages = {11},
 keywords = {concurrent program, concurrency bug, bug characteristics}
}

@article{10.1007/s10664-013-9258-8,
 author = {Tan, Lin and Liu, Chen and Li, Zhenmin and Wang, Xuanhui and Zhou, Yuanyuan and Zhai, Chengxiang},
 title = {Bug Characteristics in Open Source Software},
 year = {2014},
 issue_date = {December 2014},
 publisher = {Kluwer Academic Publishers},
 address = {USA},
 volume = {19},
 number = {6},
 issn_hidden = {1382-3256},
 url_hidden = {https://doi_hidden.org/10.1007/s10664-013-9258-8},
 doi_hidden= {10.1007/s10664-013-9258-8},
 journal = {Empirical Softw. Engg.},
 month = dec,
 pages = {1665–1705},
 numpages = {41},
 keywords = {Software bug characteristics, Software reliability, Empirical study, Open source, Bug detection}
}

@misc{catolino2019bugs,
    title={Not All Bugs Are the Same: Understanding, Characterizing, and Classifying the Root Cause of Bugs},
    author={Gemma Catolino and Fabio Palomba and Andy Zaidman and Filomena Ferrucci},
    year={2019},
    eprint={1907.11031},
    archivePrefix={arXiv},
    primaryClass={cs.SE}
}

@misc{wang2019learning,
    title={Learning a Static Bug Finder from Data},
    author={Yu Wang and Fengjuan Gao and Linzhang Wang and Ke Wang},
    year={2019},
    eprint={1907.05579},
    archivePrefix={arXiv},
    primaryClass={cs.SE}
}


@inproceedings{10.1109/SCAM.2012.28,
 author = {Aftandilian, Edward and Sauciuc, Raluca and Priya, Siddharth and Krishnan, Sundaresan},
 title = {Building Useful Program Analysis Tools Using an Extensible Java Compiler},
 year = {2012},
 isbn_hidden = {9780769547831},
 publisher = {IEEE Computer Society},
 address = {USA},
 url_hidden = {https://doi_hidden.org/10.1109/SCAM.2012.28},
 doi_hidden= {10.1109/SCAM.2012.28},
 booktitle = {Proceedings of the 2012 IEEE 12th International Working Conference on Source Code Analysis and Manipulation},
 pages = {14–23},
 numpages = {10},
 keywords = {dependency checking, bug finding, indexing, static analysis, compilers},
 series = {SCAM ’12}
}


@InProceedings{10.1007/978-3-319-17524-9_1,
author="Calcagno, Cristiano
and Distefano, Dino
and Dubreil, Jeremy
and Gabi, Dominik
and Hooimeijer, Pieter
and Luca, Martino
and O'Hearn, Peter
and Papakonstantinou, Irene
and Purbrick, Jim
and Rodriguez, Dulma",
editor="Havelund, Klaus
and Holzmann, Gerard
and Joshi, Rajeev",
title="Moving Fast with Software Verification",
booktitle="NASA Formal Methods",
year="2015",
publisher="Springer International Publishing",
address="Cham",
pages="3--11",
abstract="For organisations like Facebook, high quality software is important. However, the pace of change and increasing complexity of modern code makes it difficult to produce error-free software. Available tools are often lacking in helping programmers develop more reliable and secure applications.",
isbn_hidden="978-3-319-17524-9"
}

@article{10.1145/1052883.1052895,
 author = {Hovemeyer, David and Pugh, William},
 title = {Finding Bugs is Easy},
 year = {2004},
 issue_date = {December 2004},
 publisher = {Association for Computing Machinery},
 address = {New York, NY, USA},
 volume = {39},
 number = {12},
 issn_hidden = {0362-1340},
 url_hidden = {https://doi_hidden.org/10.1145/1052883.1052895},
 doi_hidden= {10.1145/1052883.1052895},
 journal = {SIGPLAN Not.},
 month = dec,
 pages = {92–106},
 numpages = {15}
}

@inproceedings{10.1145/3238147.3238213,
author = {Habib, Andrew and Pradel, Michael},
title = {How Many of All Bugs Do We Find? A Study of Static Bug Detectors},
year = {2018},
isbn_hidden = {9781450359375},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url_hidden = {https://doi_hidden.org/10.1145/3238147.3238213},
doi_hidden= {10.1145/3238147.3238213},
booktitle = {Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering},
pages = {317–328},
numpages = {12},
keywords = {bug finding, Defects4J, static bug checkers, static analysis},
location = {Montpellier, France},
series = {ASE 2018}
}

@article{10.1145/1082983.1083147,
author = {undefinedliwerski, Jacek and Zimmermann, Thomas and Zeller, Andreas},
title = {When Do Changes Induce Fixes?},
year = {2005},
issue_date = {July 2005},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
volume = {30},
number = {4},
issn_hidden = {0163-5948},
url_hidden = {https://doi_hidden.org/10.1145/1082983.1083147},
doi_hidden= {10.1145/1082983.1083147},
journal = {SIGSOFT Softw. Eng. Notes},
month = may,
pages = {1–5},
numpages = {5}
}


@inproceedings{Neto2018EnhancingTS,
  title={Enhancing the SZZ Algorithm to Deal with Refactoring Changes},
  author={C. Bringel Neto and Edmilson Barbalho},
  year={2018}
}

@misc{bielik2016learning,
    title={Learning a Static Analyzer from Data},
    author={Pavol Bielik and Veselin Raychev and Martin Vechev},
    year={2016},
    eprint={1611.01752},
    archivePrefix={arXiv},
    primaryClass={cs.PL}
}

@article{10.1145/3188720,
 author = {Sadowski, Caitlin and Aftandilian, Edward and Eagle, Alex and Miller-Cushon, Liam and Jaspan, Ciera},
 title = {Lessons from Building Static Analysis Tools at Google},
 year = {2018},
 issue_date = {March 2018},
 publisher = {Association for Computing Machinery},
 address = {New York, NY, USA},
 volume = {61},
 number = {4},
 issn_hidden = {0001-0782},
 url_hidden = {https://doi_hidden.org/10.1145/3188720},
 doi_hidden= {10.1145/3188720},
 journal = {Commun. ACM},
 month = mar,
 pages = {58–66},
 numpages = {9}
}

@article{10.1145/3360585,
 author = {Bader, Johannes and Scott, Andrew and Pradel, Michael and Chandra, Satish},
 title = {Getafix: Learning to Fix Bugs Automatically},
 year = {2019},
 issue_date = {October 2019},
 publisher = {Association for Computing Machinery},
 address = {New York, NY, USA},
 volume = {3},
 number = {OOPSLA},
 url_hidden = {https://doi_hidden.org/10.1145/3360585},
 doi_hidden= {10.1145/3360585},
 journal = {Proc. ACM Program. Lang.},
 month = oct,
 articleno = {Article 159},
 numpages = {27},
 keywords = {Patch generation, Automated program repair, Code transform}
}

@inproceedings{
dinella2020hoppity,
title={HOPPITY: LEARNING GRAPH TRANSFORMATIONS TO DETECT AND FIX BUGS IN PROGRAMS},
author={Elizabeth Dinella and Hanjun Dai and Ziyang Li and Mayur Naik and Le Song and Ke Wang},
booktitle={International Conference on Learning Representations},
year={2020},
url_hidden={https://openreview.net/forum?id=SJeqs6EFvB}
}


@misc{madeyski2017continuous,
    title={Continuous Defect Prediction: The Idea and a Related Dataset},
    author={Lech Madeyski and Marcin Kawalerowicz},
    year={2017},
    eprint={1703.04142},
    archivePrefix={arXiv},
    primaryClass={cs.SE}
}

@inproceedings{Gupta2018IntelligentCR,
  title={Intelligent code reviews using deep learning},
  author={Anshul Gupta},
  year={2018}
}

@misc{kapur2018estimating,
    title={Estimating defectiveness of source code: A predictive model using GitHub content},
    author={Ritu Kapur and Balwinder Sodhi},
    year={2018},
    eprint={1803.07764},
    archivePrefix={arXiv},
    primaryClass={cs.SE}
}

@article{Dam2018ADT,
  title={A deep tree-based model for software defect prediction},
  author={Khanh Hoa Dam and Trang Pham and Shien Wee Ng and Truyen Tran and John Grundy and Aditya K. Ghose and Taeksu Kim and Chul-Joo Kim},
  journal={ArXiv},
  year={2018},
  volume={abs/1802.00921}
}

@article{Pradel2018DeepBugsAL,
  title={DeepBugs: a learning approach to name-based bug detection},
  author={Michael Pradel and Koushik Sen},
  journal={PACMPL},
  year={2018},
  volume={2},
  pages={147:1-147:25}
}

@misc{Sayyad-Shirabad+Menzies:2005,
author = "Sayyad Shirabad, J. and Menzies, T.J.",
year = "2005",
isbn_hidden={null},
url_hidden={https://ieeexplore.ieee.org/document/5989519}
}

@inproceedings{Better_cross,
author = {Peters, Fayola and Menzies, Tim and Marcus, Andrian},
year = {2013},
month = {05},
pages = {409-418},
title = {Better cross company defect prediction},
isbn_hidden = {978-1-4799-0345-0},
journal = {IEEE International Working Conference on Mining Software Repositories},
doi_hidden= {10.1109/MSR.2013.6624057}
}

@INPROCEEDINGS{Gokhale97regressiontree,
    author = {Swapna Gokhale and Michael R. Lyu},
    title = {Regression Tree Modeling For The Prediction Of Software Quality},
    booktitle = {IN PROC. OF ISSAT'97},
    year = {1997},
    pages = {31--36},
    publisher = {}
}

@INPROCEEDINGS{Menzies04assessingpredictors,
    author = {Tim Menzies and Justin Distefano and Andres Orrego S and Robert (mike Chapman},
    title = {Assessing predictors of software defects},
    booktitle = {in Proceedings, workshop on Predictive Software Models},
    year = {2004}
}

@article{Predicting_Fault,
author = {Graves, Todd and Karr, Alan and Marron, J.S. and Siy, Harvey},
year = {2000},
month = {08},
pages = {653 - 661},
title = {Predicting Fault Incidence Using Software Change History},
volume = {26},
journal = {Software Engineering, IEEE Transactions on},
doi_hidden= {10.1109/32.859533}
}

@article{JANES20063711,
title = "Identification of defect-prone classes in telecommunication software systems using design metrics",
journal = "Information Sciences",
volume = "176",
number = "24",
pages = "3711 - 3734",
year = "2006",
issn_hidden = "0020-0255",
doi_hidden= "https://doi_hidden.org/10.1016/j.ins.2005.12.002",
url_hidden = "http://www.sciencedirect.com/science/article/pii/S0020025505003385",
author = "Andrea Janes and Marco Scotto and Witold Pedrycz and Barbara Russo and Milorad Stefanovic and Giancarlo Succi",
keywords = "Object-oriented design, Software metrics, Empirical software engineering",
abstract = "The goal of this paper is to investigate the relation between object-oriented design choices and defects in software systems, with focus on a real-time telecommunication domain. The design choices are measured using the widely accepted metrics suite proposed by Chidamber and Kemerer for object oriented languages [S.R. Chidamber, C.F. Kemerer, A metrics suite for object oriented design, IEEE Transactions on Software Engineering 20 (6) (1994) 476–493]. This paper reports the results of an extensive case study, which strongly reinforces earlier, mainly anecdotal, evidence that design aspects related to communication between classes can be used as indicators of the most defect-prone classes. Statistical models applicable for the non-normally distributed count data are used, such as Poisson regression, negative binomial regression, and zero-inflated negative binomial regression. The performances of the models are assessed using correlations, dispersion coefficients and Alberg diagrams. The zero-inflated negative binomial regression model based on response for a class shows the best overall ability to describe the variability of the number of defects in classes."
}

@INPROCEEDINGS{7510216,
author={S. S. {Rathore} and S. {Kuamr}},
booktitle={2015 National Conference on Recent Advances in Electronics Computer Engineering (RAECE)},
title={Comparative analysis of neural network and genetic programming for number of software faults prediction},
year={2015},
volume={},
number={},
pages={328-332},
keywords={genetic algorithms;neural nets;software fault tolerance;completeness parameter;recall parameter;error rate;PROMISE data repository;project fault datasets;fault prediction model;software module prediction;software fault prediction;genetic programming;neural network;Software;Programming;Artificial neural networks;Computers;Data mining;Number of Software Faults;Software Fault Prediction;Genrtic Programming;Neural Network},
doi_hidden={10.1109/RAECE.2015.7510216},
issn_hidden={null},
month={Feb},
}

@ARTICLE{1717471,
author={ {Yuming Zhou} and {Hareton Leung}},
journal={IEEE Transactions on Software Engineering},
title={Empirical Analysis of Object-Oriented Design Metrics for Predicting High and Low Severity Faults},
year={2006},
volume={32},
number={10},
pages={771-789},
keywords={object-oriented programming;regression analysis;software fault tolerance;software metrics;object-oriented design metrics;fault-proneness prediction;object-oriented software system;fault severity;logistic regression method;machine learning method;public domain NASA data set;fault-prone classes;Object oriented modeling;Predictive models;Logistics;Learning systems;NASA;Computer Society;Software systems;Fault detection;Decision making;Programming;Object-oriented;faults;fault-proneness;metrics;prediction;cross validation.},
doi_hidden={10.1109/TSE.2006.102},
issn_hidden={2326-3881},
month={Oct},
}

@article{SHATNAWI20081868,
title = "The effectiveness of software metrics in identifying error-prone classes in post-release software evolution process",
journal = "Journal of Systems and Software",
volume = "81",
number = "11",
pages = "1868 - 1882",
year = "2008",
issn_hidden = "0164-1212",
doi_hidden= "https://doi_hidden.org/10.1016/j.jss.2007.12.794",
url_hidden = "http://www.sciencedirect.com/science/article/pii/S0164121208000095",
author = "Raed Shatnawi and Wei Li",
keywords = "Object-oriented metrics, Class error proneness, Error-severity categories, Design evolution, Open source software, Empirical study",
abstract = "Many empirical studies have found that software metrics can predict class error proneness and the prediction can be used to accurately group error-prone classes. Recent empirical studies have used open source systems. These studies, however, focused on the relationship between software metrics and class error proneness during the development phase of software projects. Whether software metrics can still predict class error proneness in a system’s post-release evolution is still a question to be answered. This study examined three releases of the Eclipse project and found that although some metrics can still predict class error proneness in three error-severity categories, the accuracy of the prediction decreased from release to release. Furthermore, we found that the prediction cannot be used to build a metrics model to identify error-prone classes with acceptable accuracy. These findings suggest that as a system evolves, the use of some commonly used metrics to identify which classes are more prone to errors becomes increasingly difficult and we should seek alternative methods (to the metric-prediction models) to locate error-prone classes if we want high accuracy."
}

@INPROCEEDINGS{6349519,
author={K. K. {Chaturvedi} and V. B. {Singh}},
booktitle={2012 CSI Sixth International Conference on Software Engineering (CONSEG)},
title={Determining Bug severity using machine learning techniques},
year={2012},
volume={},
number={},
pages={1-6},
keywords={Bayes methods;learning (artificial intelligence);pattern classification;program debugging;software engineering;support vector machines;bug severity;software bug reporting;software development process;bug tracking system;MLT;self-improving software;supervised machine learning technique;software repositories;k-nearest neighbor;naïve Bayes multinomial;support vector machine;J48;RIPPER in;PROMISE repository;NASA;naïve Bayes classifier;Machine learning;Accuracy;Support vector machines;Software;Classification algorithms;Niobium;Text mining;Machine Learning;Supervised Classification;Feature Selection;Bug Severity},
doi_hidden={10.1109/CONSEG.2012.6349519},
issn_hidden={null},
month={Sep.},
}

@ARTICLE{1702388,
author={T. J. {McCabe}},
journal={IEEE Transactions on Software Engineering},
title={A Complexity Measure},
year={1976},
volume={SE-2},
number={4},
pages={308-320},
keywords={Basis;complexity measure;control flow;decomposition;graph theory;independence;linear;modularization;programming;reduction;software;testing;Software testing;System testing;Graph theory;Fluid flow measurement;Software measurement;Linear programming;Software engineering;Software systems;Software maintenance;National security;Basis;complexity measure;control flow;decomposition;graph theory;independence;linear;modularization;programming;reduction;software;testing},
doi_hidden={10.1109/TSE.1976.233837},
issn_hidden={2326-3881},
month={Dec},
}

@ARTICLE{979986,
author={J. {Bansiya} and C. G. {Davis}},
journal={IEEE Transactions on Software Engineering},
title={A hierarchical model for object-oriented design quality assessment},
year={2002},
volume={28},
number={1},
pages={4-17},
keywords={object-oriented programming;software metrics;software quality;data encapsulation;hierarchical model;object-oriented design quality assessment;high-level design quality attributes;behavioral design properties;object-oriented design metrics;design properties;encapsulation;modularity;coupling;cohesion;high-level quality attributes;reusability;quality attributes;expert opinion;commercial object-oriented systems;quality assessment tool;product metrics;Object oriented modeling;Quality assessment},
doi_hidden={10.1109/32.979986},
issn_hidden={2326-3881},
month={Jan},
}

@article{Incorporating_transitive,
author = {Al Dallal, Jehad},
year = {2013},
month = {06},
pages = {},
title = {Incorporating transitive relations in low-level design-based class cohesion measurement},
volume = {43},
journal = {Software: Practice and Experience},
doi_hidden= {10.1002/spe.2127}
}

@book{The_IT_Measurement_Compendium,
author = {Bundschuh, Manfred and Dekkers, Carol},
year = {2008},
month = {01},
pages = {},
title = {The IT Measurement Compendium: Estimating and Benchmarking Success with Functional Size Measurement},
isbn_hidden = {978-3-540-68187-8},
journal = {tThe IT Measurement Compendium: Estimating and Benchmarking Success with Functional Size Measurement},
doi_hidden= {10.1007/978-3-540-68188-5}
}

@article{MITCHELL20064,
title = "A study of the influence of coverage on the relationship between static and dynamic coupling metrics",
journal = "Science of Computer Programming",
volume = "59",
number = "1",
pages = "4 - 25",
year = "2006",
note = "Special Issue on Principles and Practices of Programming in Java (PPPJ 2004)",
issn_hidden = "0167-6423",
doi_hidden= "https://doi_hidden.org/10.1016/j.scico.2005.07.002",
url_hidden = "http://www.sciencedirect.com/science/article/pii/S0167642305000821",
author = "Áine Mitchell and James F. Power",
keywords = "Software engineering, Software metrics, Coupling, Coverage, Regression analysis",
abstract = "This paper examines the relationship between the static coupling between objects (CBO) metric and some of its dynamic counterparts. The dimensions of the relationship for Java programs are investigated, and the influence of instruction coverage on this relationship is measured. An empirical evaluation of 14 Java programs taken from the SPEC JVM98 and the JOlden benchmark suites is conducted using the static CBO metric, six dynamic metrics and instruction coverage data. The results presented here confirm preliminary studies indicating the independence of static and dynamic coupling metrics, but point to a strong influence of coverage on the relationship. Based on this, this paper suggests that dynamic coupling metrics might be better interpreted in the context of coverage measures, rather than as stand-alone software metrics."
}

@inproceedings{10.1109/ISSRE.2010.25,
author = {Nagappan, Nachiappan and Zeller, Andreas and Zimmermann, Thomas and Herzig, Kim and Murphy, Brendan},
title = {Change Bursts as Defect Predictors},
year = {2010},
isbn_hidden = {9780769542553},
publisher = {IEEE Computer Society},
address = {USA},
url_hidden = {https://doi_hidden.org/10.1109/ISSRE.2010.25},
doi_hidden= {10.1109/ISSRE.2010.25},
booktitle = {Proceedings of the 2010 IEEE 21st International Symposium on Software Reliability Engineering},
pages = {309–318},
numpages = {10},
keywords = {software mining, product metrics, empirical studies, developers, defects, version control, software quality assurance, Process metrics, change history},
series = {ISSRE ’10}
}

@INPROCEEDINGS{4301106,
author={D. {Rodriguez} and R. {Ruiz} and J. {Cuadrado-Gallego} and J. {Aguilar-Ruiz} and M. {Garre}},
booktitle={33rd EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO 2007)},
title={Attribute Selection in Software Engineering Datasets for Detecting Fault Modules},
year={2007},
volume={},
number={},
pages={418-423},
keywords={data mining;project management;software fault tolerance;software engineering database;fault module detection;decision making;project manager;data mining algorithm;Software engineering;Fault detection;Data mining;Project management;Engineering management;Databases;Computer science;Decision making;Programming;Software tools},
doi_hidden={10.1109/EUROMICRO.2007.20},
issn_hidden={2376-9505},
month={Aug},
}

@inproceedings{101049,
author = {Gray, D. and Bowes, David and Davey, N. and Sun, Yi and Christianson, Bruce},
year = {2011},
month = {01},
pages = {},
title = {The Misuse of the NASA Metrics Data Program Data Sets for Automated Software Defect Prediction},
volume = {2011},
journal = {IET Seminar Digest},
doi_hidden= {10.1049/ic.2011.0012}
}

@inproceedings{Building_Useful,
author = {Seiffert, Chris and Khoshgoftaar, Taghi and Van Hulse, Jason and Napolitano, Amri},
year = {2008},
month = {01},
pages = {306-311},
title = {Building Useful Models from Imbalanced Data with Sampling and Boosting.},
journal = {Proceedings of the 21th International Florida Artificial Intelligence Research Society Conference, FLAIRS-21}
}

@INPROCEEDINGS{8952192,
author={L. {Gong} and S. {Jiang} and R. {Wang} and L. {Jiang}},
booktitle={2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE)},
title={Empirical Evaluation of the Impact of Class Overlap on Software Defect Prediction},
year={2019},
volume={},
number={},
pages={698-709},
keywords={Class overlap;Software defect prediction;K Means clustering;Machine learning},
doi_hidden={10.1109/ASE.2019.00071},
issn_hidden={1938-4300},
month={Nov},
}

@INPROCEEDINGS{8777507,
author={S. {Agarwal} and S. {Gupta} and R. {Aggarwal} and S. {Maheshwari} and L. {Goel} and S. {Gupta}},
booktitle={2019 4th International Conference on Internet of Things: Smart Innovation and Usages (IoT-SIU)},
title={Substantiation of Software Defect Prediction using Statistical Learning: An Empirical Study},
year={2019},
volume={},
number={},
pages={1-6},
doi_hidden={10.1109/IoT-SIU.2019.8777507},
issn_hidden={null},
month={April}
}

@INPROCEEDINGS{1544801,
author={V. U. B. {Challagulla} and F. B. {Bastani} and {I-Ling Yen} and R. A. {Paul}},
booktitle={10th IEEE International Workshop on Object-Oriented Real-Time Dependable Systems},
title={Empirical assessment of machine learning based software defect prediction techniques},
year={2005},
volume={},
number={},
pages={263-270},
keywords={software quality;safety-critical software;learning (artificial intelligence);regression analysis;belief networks;decision trees;software performance evaluation;machine learning;software defect prediction;real-time software systems;telecontrol systems;robotic systems;mission planning systems;dynamic code synthesis;runtime mission-specific requirements;dynamic dependability assessment;statistical models;stepwise multilinear regression models;multivariate models;artificial neural networks;instance-based reasoning;Bayesian-belief networks;decision trees;rule inductions;software quality;predictor model;consistency-based subset evaluation;telepresence systems;Machine learning;Predictive models;Real time systems;Software systems;Robots;Runtime;Network synthesis;Regression tree analysis;Artificial neural networks;Bayesian methods},
doi_hidden={10.1109/WORDS.2005.32},
issn_hidden={2378-573X},
month={Feb},
}

@inproceedings{10.1145/1137983.1138012,
author = {Knab, Patrick and Pinzger, Martin and Bernstein, Abraham},
title = {Predicting Defect Densities in Source Code Files with Decision Tree Learners},
year = {2006},
isbn_hidden = {1595933972},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url_hidden = {https://doi_hidden.org/10.1145/1137983.1138012},
doi_hidden= {10.1145/1137983.1138012},
booktitle = {Proceedings of the 2006 International Workshop on Mining Software Repositories},
pages = {119–125},
numpages = {7},
keywords = {decision tree learner, defect prediction, data mining},
location = {Shanghai, China},
series = {MSR ’06}
}

@ARTICLE{4027145,
author={T. {Menzies} and J. {Greenwald} and A. {Frank}},
journal={IEEE Transactions on Software Engineering},
title={Data Mining Static Code Attributes to Learn Defect Predictors},
year={2007},
volume={33},
number={1},
pages={2-13},
keywords={data mining;learning (artificial intelligence);program diagnostics;program testing;software quality;data mining;static code attributes;defect predictor learning;McCabes versus Halstead;lines of code counts;resource-bound exploration;Data mining;Bayesian methods;Artificial intelligence;Software testing;System testing;Learning systems;Art;Software quality;Software systems;Financial management;Data mining detect prediction;McCabe;Halstead;artifical intelligence;empirical;naive Bayes.},
doi_hidden={10.1109/TSE.2007.256941},
issn_hidden={2326-3881},
month={Jan},
}

@INPROCEEDINGS{7476673,
author={C. {Macho} and S. {McIntosh} and M. {Pinzger}},
booktitle={2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER)},
title={Predicting Build Co-changes with Source Code Change and Commit Categories},
year={2016},
volume={1},
number={},
pages={541-551},
keywords={Java;random processes;sampling methods;software maintenance;source code (software);source code;software maintenance;Java open source project;random forest classifier;resampling technique;SMOTE;Predictive models;Java;Training;Data mining;Data models;Computational modeling;Maintenance engineering;Build Co-Change Prediction;Software Evolution;Fine-Grained Source Code Changes},
doi_hidden={10.1109/SANER.2016.22},
issn_hidden={null},
month={March},
}

@inproceedings{10.1145/2786805.2786813,
author = {Jing, Xiaoyuan and Wu, Fei and Dong, Xiwei and Qi, Fumin and Xu, Baowen},
title = {Heterogeneous Cross-Company Defect Prediction by Unified Metric Representation and CCA-Based Transfer Learning},
year = {2015},
isbn_hidden = {9781450336758},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url_hidden = {https://doi_hidden.org/10.1145/2786805.2786813},
doi_hidden= {10.1145/2786805.2786813},
booktitle = {Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering},
pages = {496–507},
numpages = {12},
keywords = {common metrics, canonical correlation analysis (CCA), Heterogeneous cross-company defect prediction (HCCDP), unified metric representation, company-specific metrics},
location = {Bergamo, Italy},
series = {ESEC/FSE 2015}
}

@article{ELISH2008649,
title = "Predicting defect-prone software modules using support vector machines",
journal = "Journal of Systems and Software",
volume = "81",
number = "5",
pages = "649 - 660",
year = "2008",
note = "Software Process and Product Measurement",
issn_hidden = "0164-1212",
doi_hidden= "https://doi_hidden.org/10.1016/j.jss.2007.07.040",
url_hidden = "http://www.sciencedirect.com/science/article/pii/S016412120700235X",
author = "Karim O. Elish and Mahmoud O. Elish",
keywords = "Software metrics, Defect-prone modules, Support vector machines, Predictive models",
abstract = "Effective prediction of defect-prone software modules can enable software developers to focus quality assurance activities and allocate effort and resources more efficiently. Support vector machines (SVM) have been successfully applied for solving both classification and regression problems in many applications. This paper evaluates the capability of SVM in predicting defect-prone software modules and compares its prediction performance against eight statistical and machine learning models in the context of four NASA datasets. The results indicate that the prediction performance of SVM is generally better than, or at least, is competitive against the compared models."
}

@InProceedings{10_1007,
author="Yan, Zhen
and Chen, Xinyu
and Guo, Ping",
editor="Zhang, Liqing
and Lu, Bao-Liang
and Kwok, James",
title="Software Defect Prediction Using Fuzzy Support Vector Regression",
booktitle="Advances in Neural Networks - ISNN 2010",
year="2010",
publisher="Springer Berlin Heidelberg",
address="Berlin, Heidelberg",
pages="17--24",
abstract="Regression techniques have been applied to improve software quality by using software metrics to predict defect numbers in software modules. This can help developers allocate limited developing resources to modules containing more defects. In this paper, we propose a novel method of using Fuzzy Support Vector Regression (FSVR) in predicting software defect numbers. Fuzzification input of regressor can handle unbalanced software metrics dataset. Compared with the approach of support vector regression, the experiment results with the MIS and RSDIMU datasets indicate that FSVR can get lower mean squared error and higher accuracy of total number of defects for modules containing large number of defects.",
isbn_hidden="978-3-642-13318-3"
}

@article{THWIN2005147THWIN2005147,
title = "Application of neural networks for software quality prediction using object-oriented metrics",
journal = "Journal of Systems and Software",
volume = "76",
number = "2",
pages = "147 - 156",
year = "2005",
issn_hidden = "0164-1212",
doi_hidden= "https://doi_hidden.org/10.1016/j.jss.2004.05.001",
url_hidden = "http://www.sciencedirect.com/science/article/pii/S0164121204000871",
author = "Mie Mie Thet Thwin and Tong-Seng Quah",
abstract = "This paper presents the application of neural networks in software quality estimation using object-oriented metrics. In this paper, two kinds of investigation are performed. The first on predicting the number of defects in a class and the second on predicting the number of lines changed per class. Two neural network models are used, they are Ward neural network and General Regression neural network (GRNN). Object-oriented design metrics concerning inheritance related measures, complexity measures, cohesion measures, coupling measures and memory allocation measures are used as the independent variables. GRNN network model is found to predict more accurately than Ward network model."
}

@ARTICLE{1033229,
author={D. E. {Neumann}},
journal={IEEE Transactions on Software Engineering},
title={An enhanced neural network technique for software risk analysis},
year={2002},
volume={28},
number={9},
pages={904-912},
keywords={neural nets;risk management;principal component analysis;pattern recognition;statistics;software engineering;enhanced neural network technique;software risk analysis;risk categorization;pattern recognition;multivariate statistics;principal component analysis;input data normalization;multicollinearity;cross-normalization;high-risk software modules;Neural networks;Risk analysis;Government;Costs;Principal component analysis;Mathematical model;Predictive models;Programming;Contracts;Pattern recognition},
doi_hidden={10.1109/TSE.2002.1033229},
issn_hidden={2326-3881},
month={Sep.},
}

@article{semi_supervised_learning,
author = {Eng, Softw and Li, Ming and Zhang, Hongyu and wu, Rongxin and Zhou, Zhi-Hua and Zhou, Z.-H and Eng, Autom},
year = {2011},
month = {06},
pages = {},
title = {Sample-based software defect prediction with active and semi-supervised learning},
volume = {19},
journal = {Automated Software Engineering},
doi_hidden= {10.1007/s10515-011-0092-1}
}

@INPROCEEDINGS{7965301,
author={ {Fei Wu} and {Xiao-Yuan Jing} and {Xiwei Dong} and {Jicheng Cao} and {Mingwei Xu} and {Hongyu Zhang} and {Shi Ying} and {Baowen Xu}},
booktitle={2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C)},
title={Cross-project and within-project semi-supervised software defect prediction problems study using a unified solution},
year={2017},
volume={},
number={},
pages={195-197},
keywords={learning (artificial intelligence);program diagnostics;semisupervised software defect prediction problems;CPDP methods;within-project semisupervised defect prediction;WSDP methods;cross-project semisupervised defect prediction;CSDP methods;machine learning;semisupervised structured dictionary learning;SSDL;Dictionaries;Software engineering;Software;Predictive models;Data models;Training;Data mining;cross-project semi-supervised defect prediction;within-project semi-supervised defect prediction;semi-supervised structured dictionary learning},
doi_hidden={10.1109/ICSE-C.2017.72},
issn_hidden={null},
month={May},
}

@Article{Zhang2017,
author="Zhang, Zhi-Wu
and Jing, Xiao-Yuan
and Wang, Tie-Jian",
title="Label propagation based semi-supervised learning for software defect prediction",
journal="Automated Software Engineering",
year="2017",
month="Mar",
day="01",
volume="24",
number="1",
pages="47--69",
abstract="Software defect prediction can automatically predict defect-prone software modules for efficient software test in software engineering. When the previous defect labels of modules are limited, predicting the defect-prone modules becomes a challenging problem. In static software defect prediction, there exist the similarity among software modules, a software module can be approximated by a sparse representation of the other part of the software modules, and class-imbalance problem, the number of defect-free modules is much larger than that of defective ones. In this paper, we propose to use graph based semi-supervised learning technique to predict software defect. By using Laplacian score sampling strategy for the labeled defect-free modules, we construct a class-balance labeled training dataset firstly. And then, we use a nonnegative sparse algorithm to compute the nonnegative sparse weights of a relationship graph which serve as clustering indicators. Lastly, on the nonnegative sparse graph, we use a label propagation algorithm to iteratively predict the labels of unlabeled software modules. We thus propose a nonnegative sparse graph based label propagation approach for software defect classification and prediction, which uses not only few labeled data but also abundant unlabeled ones to improve the generalization capability. We vary the size of labeled software modules from 10 to 30 {\%} of all the datasets in the widely used NASA projects. Experimental results show that the NSGLP outperforms several representative state-of-the-art semi-supervised software defect prediction methods, and it can fully exploit the characteristics of static code metrics and improve the generalization capability of the software defect prediction model.",
issn_hidden="1573-7535",
doi_hidden="10.1007/s10515-016-0194-x",
url_hidden="https://doi_hidden.org/10.1007/s10515-016-0194-x"
}

@article{10.1145/3360588,
author = {Li, Yi and Wang, Shaohua and Nguyen, Tien N. and Van Nguyen, Son},
title = {Improving Bug Detection via Context-Based Code Representation Learning and Attention-Based Neural Networks},
year = {2019},
issue_date = {October 2019},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
volume = {3},
number = {OOPSLA},
url_hidden = {https://doi_hidden.org/10.1145/3360588},
doi_hidden= {10.1145/3360588},
journal = {Proc. ACM Program. Lang.},
month = oct,
articleno = {Article 162},
numpages = {30},
keywords = {Attention Neural Networks, Program Graphs, Deep Learning, Network Embedding, Code Representation Learning, Bug Detection}
}

@article{Ensemble_Techniques,
author = {Alsaeedi, Abdullah and Khan, Mohammad},
year = {2019},
month = {01},
pages = {85-100},
title = {Software Defect Prediction Using Supervised Machine Learning and Ensemble Techniques: A Comparative Study},
volume = {12},
journal = {Journal of Software Engineering and Applications},
doi_hidden= {10.4236/jsea.2019.125007}
}

@article{XIAO201917,
title = "Improving bug localization with word embedding and enhanced convolutional neural networks",
journal = "Information and Software Technology",
volume = "105",
pages = "17 - 29",
year = "2019",
issn_hidden = "0950-5849",
doi_hidden= "https://doi_hidden.org/10.1016/j.infsof.2018.08.002",
url_hidden = "http://www.sciencedirect.com/science/article/pii/S0950584918301654",
author = "Yan Xiao and Jacky Keung and Kwabena E. Bennin and Qing Mi",
keywords = "Bug localization, Convolutional neural network, Word embedding, TF-IDF, Deep learning, Semantic information",
abstract = "Context: Automatic localization of buggy files can speed up the process of bug fixing to improve the efficiency and productivity of software quality assurance teams. Useful semantic information is available in bug reports and source code, but it is usually underutilized by existing bug localization approaches. Objective: To improve the performance of bug localization, we propose DeepLoc, a novel deep learning-based model that makes full use of semantic information. Method: DeepLoc is composed of an enhanced convolutional neural network (CNN) that considers bug-fixing recency and frequency, together with word-embedding and feature-detecting techniques. DeepLoc uses word embeddings to represent the words in bug reports and source files that retain their semantic information, and different CNNs to detect features from them. DeepLoc is evaluated on over 18,500 bug reports extracted from AspectJ, Eclipse, JDT, SWT, and Tomcat projects. Results: The experimental results show that DeepLoc achieves 10.87%–13.4% higher MAP (mean average precision) than conventional CNN. DeepLoc outperforms four current state-of-the-art approaches (DeepLocator, HyLoc, LR+WE, and BugLocator) in terms of Accuracy@k (the percentage of bug reports for which at least one real buggy file is located within the top k rank), MAP, and MRR (mean reciprocal rank) using less computation time. Conclusion: DeepLoc is capable of automatically connecting bug reports to the corresponding buggy files and achieves better performance than four state-of-the-art approaches based on a deep understanding of semantics in bug reports and source code."
}

@book{10.5555/540137,
author = {Halstead, Maurice H.},
title = {Elements of Software Science (Operating and Programming Systems Series)},
year = {1977},
isbn_hidden = {0444002057},
publisher = {Elsevier Science Inc.},
address = {USA}
}

@INPROCEEDINGS{1383136,
author={L. {Guo} and Y. {Ma} and B. {Cukic} and {Harshinder Singh}},
booktitle={15th International Symposium on Software Reliability Engineering},
title={Robust prediction of fault-proneness by random forests},
year={2004},
volume={},
number={},
pages={417-428},
keywords={software fault tolerance;decision trees;software quality;software metrics;fault prone module;software development process;large scale system;random forests;decision tree learning;NASA data sets;logistic regression;discriminant analysis;machine learning;software packages;Robustness;Decision trees;Programming;Fault detection;Fault diagnosis;Predictive models;Large-scale systems;Training data;Voting;NASA},
doi_hidden={10.1109/ISSRE.2004.35},
issn_hidden={1071-9458},
month={Nov},
}

@INBOOK{5989519,
author={D. {Huizinga} and A. {Kolawa}},
booktitle={Automated Defect Prevention: Best Practices in Software Management},
title={Principles of Automated Defect Prevention},
year={2007},
volume={},
number={},
pages={19-51},
keywords={},
doi_hidden={10.1002/9780470165171.ch2},
issn_hidden={null},
publisher={IEEE},
isbn_hidden={null},
url_hidden={https://ieeexplore.ieee.org/document/5989519},
}

@misc{vasic2019neural,
    title={Neural Program Repair by Jointly Learning to Localize and Repair},
    author={Marko Vasic and Aditya Kanade and Petros Maniatis and David Bieber and Rishabh Singh},
    year={2019},
    eprint={1904.01720},
    archivePrefix={arXiv},
    primaryClass={cs.LG}
}

@misc{briem2019using,
    title={Using Distributed Representation of Code for Bug Detection},
    author={Jón Arnar Briem and Jordi Smit and Hendrig Sellik and Pavel Rapoport},
    year={2019},
    eprint={1911.12863},
    archivePrefix={arXiv},
    primaryClass={cs.SE}
}

@inbook{doi_hidden:10.1002,
publisher = {John Wiley \& Sons, Ltd},
isbn_hidden = {9781119312451},
title = {Quality Culture},
booktitle = {Software Quality Assurance},
chapter = {2},
pages = {35-65},
doi_hidden= {10.1002/9781119312451.ch2},
url_hidden = {https://onlinelibrary.wiley.com/doi_hidden/abs/10.1002/9781119312451.ch2},
eprint = {https://onlinelibrary.wiley.com/doi_hidden/pdf/10.1002/9781119312451.ch2},
year = {2017},
keywords = {code of ethics, cost of quality, quality assurance, quality culture, software engineers},
abstract = {Abstract This chapter considers the concepts of the cost of quality, quality culture, and the code of ethics for software engineers. The issues related to quality will be applied to the context of software development. The chapter presents examples where poor quality culture and the lack of a code of ethics have led to disastrous situations involving poor quality software and irreversible damage to people and the environment. One of the major factors that explains the resistance to implementing quality assurance is the perception of its high cost. Quality culture is the culture that guides the behaviors, activities, priorities, and decisions of an individual as well as of an organization. The objective of management is to instill a culture that will promote the development of high quality software products and offer them at competitive prices in order to produce income and dividends within an organization where employees are engaged and happy.}
}

@book{Assurance,
author = {Laporte, Claude and April, Alain},
year = {2017},
month = {12},
pages = {},
title = {Software Quality Assurance},
isbn_hidden = {978-1-118-50182-5},
doi_hidden= {10.1002/9781119312451}
}

@book{10.5555/1162264,
author = {Bishop, Christopher M.},
title = {Pattern Recognition and Machine Learning (Information Science and Statistics)},
year = {2006},
isbn_hidden = {0387310738},
publisher = {Springer-Verlag},
address = {Berlin, Heidelberg}
}

@INPROCEEDINGS{5609530,
author={Y. {Kamei} and S. {Matsumoto} and A. {Monden} and K. {Matsumoto} and B. {Adams} and A. E. {Hassan}},
booktitle={2010 IEEE International Conference on Software Maintenance},
title={Revisiting common bug prediction findings using effort-aware models},
year={2010},
volume={},
number={},
pages={1-10},
keywords={program debugging;software metrics;software packages;software quality;common bug prediction finding;effort aware model;software quality assurance;bug prediction literature;process metrics;package level prediction;Measurement;Predictive models;Computer bugs;Radio frequency;Mathematical model;Regression tree analysis;Computational modeling},
doi_hidden={10.1109/ICSM.2010.5609530},
issn_hidden={1063-6773},
month={Sep.},
}

@article{10.1007/s10462-017-9563-5,
author = {Rathore, Santosh S. and Kumar, Sandeep},
title = {A Study on Software Fault Prediction Techniques},
year = {2019},
issue_date = {February 2019},
publisher = {Kluwer Academic Publishers},
address = {USA},
volume = {51},
number = {2},
issn_hidden = {0269-2821},
url_hidden = {https://doi_hidden.org/10.1007/s10462-017-9563-5},
doi_hidden= {10.1007/s10462-017-9563-5},
journal = {Artif. Intell. Rev.},
month = feb,
pages = {255–327},
numpages = {73},
keywords = {Software fault prediction, Software fault datasets, Software metrics, Fault prediction techniques, Taxonomic classification}
}

@ARTICLE{859533,
author={T. L. {Graves} and A. F. {Karr} and J. S. {Marron} and H. {Siy}},
journal={IEEE Transactions on Software Engineering},
title={Predicting fault incidence using software change history},
year={2000},
volume={26},
number={7},
pages={653-661},
keywords={software maintenance;software metrics;software fault tolerance;management of change;fault incidence;software change history;change management data;change history;fault potential;code decay;metrics;statistical analysis;History;Predictive models;Software systems;Aging;Time measurement;Software measurement;Length measurement;Software development management;Statistical analysis;Degradation},
doi_hidden={10.1109/32.859533},
issn_hidden={2326-3881},
month={July},
}

@Article{Turhan2009,
author="Turhan, Burak
and Menzies, Tim
and Bener, Ay{\c{s}}e B.
and Di Stefano, Justin",
title="On the relative value of cross-company and within-company data for defect prediction",
journal="Empirical Software Engineering",
year="2009",
month="Oct",
day="01",
volume="14",
number="5",
pages="540--578",
abstract="We propose a practical defect prediction approach for companies that do not track defect related data. Specifically, we investigate the applicability of cross-company (CC) data for building localized defect predictors using static code features. Firstly, we analyze the conditions, where CC data can be used as is. These conditions turn out to be quite few. Then we apply principles of analogy-based learning (i.e. nearest neighbor (NN) filtering) to CC data, in order to fine tune these models for localization. We compare the performance of these models with that of defect predictors learned from within-company (WC) data. As expected, we observe that defect predictors learned from WC data outperform the ones learned from CC data. However, our analyses also yield defect predictors learned from NN-filtered CC data, with performance close to, but still not better than, WC data. Therefore, we perform a final analysis for determining the minimum number of local defect reports in order to learn WC defect predictors. We demonstrate in this paper that the minimum number of data samples required to build effective defect predictors can be quite small and can be collected quickly within a few months. Hence, for companies with no local defect data, we recommend a two-phase approach that allows them to employ the defect prediction process instantaneously. In phase one, companies should use NN-filtered CC data to initiate the defect prediction process and simultaneously start collecting WC (local) data. Once enough WC data is collected (i.e. after a few months), organizations should switch to phase two and use predictors learned from WC data.",
issn_hidden="1573-7616",
doi_hidden="10.1007/s10664-008-9103-7",
url_hidden="https://doi_hidden.org/10.1007/s10664-008-9103-7"
}


@misc{DeepBugs,
author = {Michael Pradel, Koushik Sen},
title = {DeepBugs: A Learning Approach to Name-based Bug Detection},
howpublished = {\url_hidden{https://arxiv.org/abs/1805.11683}},
year = {2018},
}

@INPROCEEDINGS{8616596,
author={Y. {Teshima} and Y. {Watanobe}},
booktitle={2018 IEEE International Conference on Systems, Man, and Cybernetics (SMC)},
title={Bug Detection Based on LSTM Networks and Solution Codes},
year={2018},
volume={},
number={},
pages={3541-3546},
keywords={computer science education;learning (artificial intelligence);program compilers;program debugging;program diagnostics;recurrent neural nets;syntax errors;logical errors;bug detection methods;feedback system;online judge system;programming problems;accumulates numerous lines;solution source code;short-term memory networks;LSTM networks;bugs;solution codes;IDEs support;Computer bugs;Training;Programming profession;Probability;Debugging},
doi_hidden={10.1109/SMC.2018.00599},
issn_hidden={1062-922X},
month={Oct},
}

@inproceedings{Hinton2001UnsupervisedLF,
  title={Unsupervised Learning: Foundations of Neural Computation--A Review},
  author={Geoffrey E. Hinton and Terrence J. Sejnowski},
  year={2001}
}

@ARTICLE{4339230,
author={B. {Fluri} and M. {Wuersch} and M. {PInzger} and H. {Gall}},
journal={IEEE Transactions on Software Engineering},
title={Change Distilling:Tree Differencing for Fine-Grained Source Code Change Extraction},
year={2007},
volume={33},
number={11},
pages={725-743},
keywords={software maintenance;software prototyping;tree data structures;minimum edit script;abstract syntax trees;software evolution analysis;fine-grained source code change extraction;change distilling tree differencing algorithm;Data mining;Taxonomy;Software maintenance;Programming profession;Software algorithms;Algorithm design and analysis;Software tools;Maintenance engineering;Software systems;History;Source code change extraction;tree differencing algorithms;software repositories;software evolution analysis},
doi_hidden={10.1109/TSE.2007.70731},
issn_hidden={2326-3881},
month={Nov},}

@INPROCEEDINGS{6676914,
author={M. {Martinez} and L. {Duchien} and M. {Monperrus}},
booktitle={2013 IEEE International Conference on Software Maintenance},
title={Automatically Extracting Instances of Code Change Patterns with AST Analysis},
year={2013},
volume={},
number={},
pages={388-391},
keywords={computational linguistics;program diagnostics;software maintenance;code change pattern;recurrent software modification;pattern instances automatic extraction;search patterns instances;software history;abstract syntax trees;AST files;open-source Java projects;History;Java;Syntactics;Open source software;Context;Catalogs},
doi_hidden={10.1109/ICSM.2013.54},
issn_hidden={1063-6773},
month={Sep.},}

@misc{InternationalStandardOrganization,
  added-at = {2013-10-18T15:41:04.000+0200},
  author = {{International Standard Organization (ISO)}},
  biburl_hidden = {https://www.bibsonomy.org/bibtex/23897d5d6e39fc4567a0a4ad58fbf2ee5/hlackner},
  institution = {{International Standard Organization (ISO)}},
  interhash = {cb33656a36c06ad92e469d0f1e44d523},
  intrahash = {3897d5d6e39fc4567a0a4ad58fbf2ee5},
  keywords = {Informatik},
  timestamp = {2013-10-18T15:41:04.000+0200},
  title = {International Standard ISO/IEC 9126, Information technology ‐ Product  Quality ‐ Part1: Quality Model},
  year = 2001
}

@article{Husain2019CodeSearchNetCE,
  title={CodeSearchNet Challenge: Evaluating the State of Semantic Code Search},
  author={Hamel Husain and Ho-Hsiang Wu and Tiferet Gazit and Miltiadis Allamanis and Marc Brockschmidt},
  journal={ArXiv},
  year={2019},
  volume={abs/1909.09436}
}

@inproceedings{Akiyama1971AnEO,
  title={An Example of Software System Debugging},
  author={Fumio Akiyama},
  booktitle={IFIP Congress},
  year={1971}
}
@INPROCEEDINGS{7476771,
author={Y. {Kamei} and E. {Shihab}},
booktitle={2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER)},
title={Defect Prediction: Accomplishments and Future Challenges},
year={2016},
volume={5},
number={},
pages={33-45},
keywords={software metrics;software quality;software prediction models;software defect prediction;software quality assurance;software systems complexity;Software;Predictive models;Data models;Complexity theory;Market research;Power measurement;Software quality assurance;defect prediction;trends and future directions},
doi_hidden={10.1109/SANER.2016.56},
issn_hidden={null},
month={March},}

@ARTICLE{6464273,
author={M. {Shepperd} and Q. {Song} and Z. {Sun} and C. {Mair}},
journal={IEEE Transactions on Software Engineering},
title={Data Quality: Some Comments on the NASA Software Defect Datasets},
year={2013},
volume={39},
number={9},
pages={1208-1215},
keywords={data analysis;learning (artificial intelligence);pattern classification;software reliability;data quality;NASA software defect dataset;National Aeronautics and Space Administration;data replication;machine learning;software module classification;defect-prone classification;not-defect-prone classification;IEEE Transactions on Software Engineering;data preprocessing;dataset provenance;NASA;Software;PROM;Educational institutions;Sun;Communities;Abstracts;Empirical software engineering;data quality;machine learning;defect prediction},
doi_hidden={10.1109/TSE.2013.11},
issn_hidden={2326-3881},
month={Sep.},}

@inproceedings{10.1109/ICPC.2019.00014,
author = {Fakhoury, Sarah and Roy, Devjeet and Hassan, Sk. Adnan and Arnaoudova, Venera},
title = {Improving Source Code Readability: Theory and Practice},
year = {2019},
publisher = {IEEE Press},
url_hidden = {https://doi_hidden.org/10.1109/ICPC.2019.00014},
doi_hidden= {10.1109/ICPC.2019.00014},
booktitle = {Proceedings of the 27th International Conference on Program Comprehension},
pages = {2–12},
numpages = {11},
keywords = {developers’perception, readability, code quality metrics},
location = {Montreal, Quebec, Canada},
series = {ICPC ’19}
}

@ARTICLE{8651396,
author={S. {Scalabrino} and G. {Bavota} and C. {Vendome} and M. {Linares-V?squez} and D. {Poshyvanyk} and R. {Oliveto}},
journal={IEEE Transactions on Software Engineering},
title={Automatically Assessing Code Understandability},
year={2019},
volume={},
number={},
pages={1-1},
keywords={Complexity theory;Software;Computer bugs;Readability metrics;Software measurement;Indexes;Software metrics;Code understandability;Empirical study;Negative result},
doi_hidden={10.1109/TSE.2019.2901468},
issn_hidden={2326-3881},
month={},}

@ARTICLE{xxx66666444,
author = {W. R. Weimer and R. L. Buse},
journal = {IEEE Transactions on Software Engineering},
title = {Learning a Metric for Code Readability},
year = {2010},
volume = {36},
number = {04},
issn_hidden = {1939-3520},
pages = {546-558},
keywords = {software readability;program understanding;machine learning;software maintenance;code metrics;findbugs.},
doi_hidden= {10.1109/TSE.2009.70},
publisher = {IEEE Computer Society},
address = {Los Alamitos, CA, USA},
month = {jul}
}

@inproceedings{10.1145/1985441.1985454,
author = {Posnett, Daryl and Hindle, Abram and Devanbu, Premkumar},
title = {A Simpler Model of Software Readability},
year = {2011},
isbn_hidden = {9781450305747},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url_hidden = {https://doi_hidden.org/10.1145/1985441.1985454},
doi_hidden= {10.1145/1985441.1985454},
booktitle = {Proceedings of the 8th Working Conference on Mining Software Repositories},
pages = {73–82},
numpages = {10},
keywords = {halstead, replication, entropy, readability},
location = {Waikiki, Honolulu, HI, USA},
series = {MSR ’11}
}

@article{doi_hidden:10.1002/smr.1958,
author = {Scalabrino, Simone and Linares-Vásquez, Mario and Oliveto, Rocco and Poshyvanyk, Denys},
title = {A comprehensive model for code readability},
journal = {Journal of Software: Evolution and Process},
volume = {30},
number = {6},
pages = {e1958},
keywords = {code readability, quality warning prediction, textual analysis},
doi_hidden= {10.1002/smr.1958},
url_hidden = {https://onlinelibrary.wiley.com/doi_hidden/abs/10.1002/smr.1958},
eprint = {https://onlinelibrary.wiley.com/doi_hidden/pdf/10.1002/smr.1958},
note = {e1958 smr.1958},
abstract = {Abstract Unreadable code could compromise program comprehension, and it could cause the introduction of bugs. Code consists of mostly natural language text, both in identifiers and comments, and it is a particular form of text. Nevertheless, the models proposed to estimate code readability take into account only structural aspects and visual nuances of source code, such as line length and alignment of characters. In this paper, we extend our previous work in which we use textual features to improve code readability models. We introduce 2 new textual features, and we reassess the readability prediction power of readability models on more than 600 code snippets manually evaluated, in terms of readability, by 5K+ people. We also replicate a study by Buse and Weimer on the correlation between readability and FindBugs warnings, evaluating different models on 20 software systems, for a total of 3M lines of code. The results demonstrate that (1) textual features complement other features and (2) a model containing all the features achieves a significantly higher accuracy as compared with all the other state-of-the-art models. Also, readability estimation resulting from a more accurate model, ie, the combined model, is able to predict more accurately FindBugs warnings.},
year = {2018}
}

@book{humble2010continuous,
  title={Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation},
  author={Humble, J. and Farley, D.},
  isbn_hidden={9780321601919},
  lccn={2010022186},
  series={A Martin Fowler Signature Book},
  url_hidden={https://books.google.es/books?id=9CAxmQEACAAJ},
  year={2010},
  publisher={Addison-Wesley}
}


@Article{Jiang2008,
author="Jiang, Yue
and Cukic, Bojan
and Ma, Yan",
title="Techniques for evaluating fault prediction models",
journal="Empirical Software Engineering",
year="2008",
month="Oct",
day="01",
volume="13",
number="5",
pages="561--595",
issn_hidden="1573-7616",
doi_hidden="10.1007/s10664-008-9079-3",
url_hidden="https://doi_hidden.org/10.1007/s10664-008-9079-3"
}

@article{ARISHOLM20102,
title = "A systematic and comprehensive investigation of methods to build and evaluate fault prediction models",
journal = "Journal of Systems and Software",
volume = "83",
number = "1",
pages = "2 - 17",
year = "2010",
note = "SI: Top Scholars",
issn_hidden = "0164-1212",
doi_hidden= "https://doi_hidden.org/10.1016/j.jss.2009.06.055",
url_hidden = "http://www.sciencedirect.com/science/article/pii/S0164121209001605",
author = "Erik Arisholm and Lionel C. Briand and Eivind B. Johannessen",
keywords = "Fault prediction models, Cost-effectiveness, Verification",
}

@article{10.1109/TSE.2009.70,
author = {Buse, Raymond P. L. and Weimer, Westley R.},
title = {Learning a Metric for Code Readability},
year = {2010},
issue_date = {July 2010},
publisher = {IEEE Press},
volume = {36},
number = {4},
issn_hidden = {0098-5589},
url_hidden = {https://doi_hidden.org/10.1109/TSE.2009.70},
doi_hidden= {10.1109/TSE.2009.70},
journal = {IEEE Trans. Softw. Eng.},
month = jul,
pages = {546–558},
numpages = {13},
keywords = {machine learning, Software readability, program understanding, machine learning, software maintenance, code metrics, FindBugs., program understanding, FindBugs., code metrics, software maintenance, Software readability}
}

@misc{Readabil74:online,
author = {Panos Ipeirotis},
title = {Readability Scores Demo},
howpublished = {\url_hidden{https://ipeirotis-hrd.appspot.com/}},
month = {},
year = {2020},
note = {(Accessed on 01/29/2020)}
}

@InProceedings{10.1007/978-3-319-95171-3_32,
author="Choi, Sangchul
and Kim, Suntae
and Lee, Jeong-Hyu
and Kim, JeongAh
and Choi, Jae-Young",
editor="Gervasi, Osvaldo
and Murgante, Beniamino
and Misra, Sanjay
and Stankova, Elena
and Torre, Carmelo M.
and Rocha, Ana Maria A.C.
and Taniar, David
and Apduhan, Bernady O.
and Tarantino, Eufemia
and Ryu, Yeonseung",
title="Measuring the Extent of Source Code Readability Using Regression Analysis",
booktitle="Computational Science and Its Applications -- ICCSA 2018",
year="2018",
publisher="Springer International Publishing",
address="Cham",
pages="410--421",
isbn="978-3-319-95171-3"
}

@article{10.1023/A:1010933404324,
author = {Breiman, Leo},
title = {Random Forests},
year = {2001},
issue_date = {October 2001},
publisher = {Kluwer Academic Publishers},
address = {USA},
volume = {45},
number = {1},
issn = {0885-6125},
journal = {Mach. Learn.},
month = oct,
pages = {5–32},
numpages = {28},
keywords = {ensemble, classification, regression}
}

@inproceedings{10.1145/3194164.3194186,
author = {Campbell, G. Ann},
title = {Cognitive Complexity: An Overview and Evaluation},
year = {2018},
isbn = {9781450357135},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
booktitle = {Proceedings of the 2018 International Conference on Technical Debt},
pages = {57–58},
numpages = {2},
location = {Gothenburg, Sweden},
series = {TechDebt ’18}
}

@article{10.1145/3133925,
author = {Chae, Kwonsoo and Oh, Hakjoo and Heo, Kihong and Yang, Hongseok},
title = {Automatically Generating Features for Learning Program Analysis Heuristics for C-like Languages},
year = {2017},
issue_date = {October 2017},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
volume = {1},
number = {OOPSLA},
journal = {Proc. ACM Program. Lang.},
month = oct,
articleno = {101},
numpages = {25},
keywords = {Automatic feature generation, Data-driven program analysis}
}

@inproceedings{Learning_a_Strategy_for_Adapting,
author = {Oh, Hakjoo and Yang, Hongseok and Yi, Kwangkeun},
title = {Learning a Strategy for Adapting a Program Analysis via Bayesian Optimisation},
year = {2015},
isbn = {9781450336895},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
booktitle = {Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications},
pages = {572–588},
numpages = {17},
keywords = {Bayesian Optimization, rogram Analysis},
location = {Pittsburgh, PA, USA},
series = {OOPSLA 2015}
}

@ARTICLE{Software_quality_the_elusive_target,
  author={B. {Kitchenham} and S. L. {Pfleeger}},
  journal={IEEE Software},
  title={Software quality: the elusive target [special issues section]},
  year={1996},
  volume={13},
  number={1},
  pages={12-21},
}

@BOOK{The_Economics_of_Software_Quality,
  TITLE = {The Economics of Software Quality},
  AUTHOR = {Jones, Capers and Oliver, Bonsignour},
  YEAR = {2012},
  PUBLISHER = {Addison-Wisley},
}

@inproceedings{static_code_analysis_for_security,
author = {Kulenovic, Melina and Donko, Dzenana},
year = {2014},
month = {05},
pages = {},
title = {A survey of static code analysis methods for security vulnerabilities detection},
}

@inproceedings{Ilyas2016StaticCA,
  title={Static Code Analysis: A Systematic Literature Review and an Industrial Survey},
  author={Bilal Ilyas and Islam Elkhalifa},
  year={2016}
}

@inproceedings{cognitive_complexity,
author = {Campbell, G. Ann},
title = {Cognitive Complexity: An Overview and Evaluation},
year = {2018},
isbn = {9781450357135},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
booktitle = {Proceedings of the 2018 International Conference on Technical Debt},
pages = {57–58},
numpages = {2},
location = {Gothenburg, Sweden},
series = {TechDebt ’18}
}

@article{Software_metric_for_Java,
author = {Balmas, Françoise and Bergel, Alexandre and Denier, Simon and Ducasse, Stéphane and Laval, Jannik and Mordal-Manet, Karine and Abdeen, Hani and Bellingard, Fabrice},
year = {2010},
month = {03},
pages = {},
title = {Software metric for Java and C++ practices (Workpackage 1.1)}
}

@article{Code_Smells_and_Software_Quality,
author = {Kaur, Amandeep},
year = {2019},
month = {07},
pages = {},
title = {A Systematic Literature Review on Empirical Analysis of the Relationship Between Code Smells and Software Quality Attributes},
journal = {Archives of Computational Methods in Engineering},
}

@inproceedings{Overview_Static_Code_Analysis_in_Software_Development,
  title={An overview on the Static Code Analysis approach in Software Development},
  author={Ivo Vieira Gomes and Pedro Morgado and Tiago Gomes and Rodrigo Bossini Tavares Moreira},
  year={2009},
  booktitle={ }
}

@inproceedings{Youness2013ComparativeSO,
  title={Comparative Study of Software Quality Models},
  author={Boukouchi Youness and M. Abdel-Aziz and BENLAHMER Habib and Moutachaouik Hicham},
  year={2013}
}

@article{Chidamber1994AMS,
  title={A Metrics Suite for Object Oriented Design},
  author={Shyam R. Chidamber and Chris F. Kemerer},
  journal={IEEE Trans. Software Eng.},
  year={1994},
  volume={20},
  pages={476-493}
}

@article{Iacob_Constantinescu,
 author = {Iacob,  I.  M. and  Constantinescu,  R.},
 title = {Testing:  First  Step Towards  Software  Quality},
 year = {2008},
 publisher = {Journal  of  Applied  Quantitative Methods},
 address = {},
 booktitle = {},
 pages = {},
 numpages = {},
 location = {},
 series = {}
}

@article{Liu_Kane,
 author = {Liu, X. F. and Kane, G. and  Bambroo, M.},
 title = {An intelligent early warning  system  for  software  quality  improvement  and  project management},
 year = {2006},
 publisher = {Journal of Systems and Software},
 address = {},
 booktitle = {},
 pages = {},
 numpages = {},
 location = {},
 series = {}
}

@article{Liu2006AnIE,
  title={An intelligent early warning system for software quality improvement and project management},
  author={Xiaoqing Frank Liu and Gautam Kane and Monu Bambroo},
  journal={J. Syst. Softw.},
  year={2006},
  volume={79},
  pages={1552-1564}
}

@article{Farhan,
 author = {Farhan Alebebisat and Zaid Alhalhouli and Tamara E Alshabatat},
 title = {Review of Literature on Software Quality},
 year = {2018},
 address = {},
 booktitle = {},
 pages = {},
 numpages = {},
 location = {},
 series = {}
}

@inproceedings{Mohammadi2013AnAO,
  title={An Analysis of Software Quality Attributes and Their Contribution to Trustworthiness},
  author={Nazila Gol Mohammadi and Sachar Paulus and Mohamed Bishr and Andreas Metzger and Holger K{\"o}nnecke and Sandro Hartenstein and Klaus Pohl},
  booktitle={CLOSER},
  year={2013}
}

@article{McCabe1976ACM,
  title={A Complexity Measure},
  author={Thomas J. McCabe},
  journal={IEEE Transactions on Software Engineering},
  year={1976},
  volume={SE-2},
  pages={308-320}
}

@article{Cognitive,
 author = { G. Ann Campbell},
 title = {COGNITIVE COMPLEXITY. A new way of measuring understandability},
 year = {2018},
 address = {},
 booktitle = {},
 pages = {},
 url_hidden = {https://www.sonarsource.com/docs/CognitiveComplexity.pdf},
 numpages = {},
 location = {},
 series = {}
}

@inproceedings{Fil2015ACO,
  title={A Catalogue of Thresholds for Object-Oriented Software Metrics},
  author={Tarc{\'i}sio G. S. Fil{\'o} and Mariza Andrade da Silva Bigonha},
  year={2015}
}

@article{Shatnawi2010FindingSM,
  title={Finding software metrics threshold values using ROC curves},
  author={Raed Shatnawi and Wei Li and James Swain and Tim Newman},
  journal={J. Softw. Maintenance Res. Pract.},
  year={2010},
  volume={22},
  pages={1-16}
}

@article{Ouni2011MaintainabilityDD,
  title={Maintainability defects detection and correction: a multi-objective approach},
  author={Ali Ouni and Marouane Kessentini and Houari A. Sahraoui and Mounir Boukadoum},
  journal={Automated Software Engineering},
  year={2011},
  volume={20},
  pages={47-79}
}

@inproceedings{Fowler1999RefactoringI,
  title={Refactoring - Improving the Design of Existing Code},
  author={Martin Fowler},
  booktitle={Addison Wesley object technology series},
  year={1999}
}

@article{Din2012AntipatternsDA,
  title={Antipatterns detection approaches in Object-Oriented Design: A literature review},
  author={Jamilah Din and Anas Bassam Al-Badareen and Yah Yusmadi Jusoh},
  journal={2012 7th International Conference on Computing and Convergence Technology (ICCCT)},
  year={2012},
  pages={926-931}
}

@article{Kreimer2005AdaptiveDO,
  title={Adaptive Detection of Design Flaws},
  author={Jochen Kreimer},
  journal={Electron. Notes Theor. Comput. Sci.},
  year={2005},
  volume={141},
  pages={117-136}
}

@article{Palomba2015MiningVH,
  title={Mining Version Histories for Detecting Code Smells},
  author={Fabio Palomba and Gabriele Bavota and Massimiliano Di Penta and Rocco Oliveto and Denys Poshyvanyk and Andrea De Lucia},
  journal={IEEE Transactions on Software Engineering},
  year={2015},
  volume={41},
  pages={462-489}
}

@article{Liu2019DeepLB,
  title={Deep Learning Based Code Smell Detection},
  author={Hui Liu and Jiahao Jin and Zhifeng Xu and Yifan Bu and Yanzhen Zou and Lu Zhang},
  journal={IEEE Transactions on Software Engineering},
  year={2019},
  pages={1-1}
}

@article{Emden2002JavaQA,
  title={Java quality assurance by detecting code smells},
  author={Eva Van Emden and Leon Moonen},
  journal={Ninth Working Conference on Reverse Engineering, 2002. Proceedings.},
  year={2002},
  pages={97-106}
}

@article{Reeshti2019MeasuringCS,
  title={Measuring Code Smells and Anti-Patterns},
  author={Reeshti and Rajni Sehgal and Renuka Nagpal and Deepti Mehrotra},
  journal={2019 4th International Conference on Information Systems and Computer Networks (ISCON)},
  year={2019},
  pages={311-314}
}

@inproceedings{Friedman2001GreedyFA,
  title={Greedy function approximation: A gradient boosting machine.},
  author={Jerome H. Friedman},
  year={2001}
}

@article{Dorogush2018CatBoostGB,
  title={CatBoost: gradient boosting with categorical features support},
  author={Anna Veronika Dorogush and Vasily Ershov and Andrey Gulin},
  journal={ArXiv},
  year={2018},
  volume={abs/1810.11363}
}

@inproceedings{Kessentini2019UnderstandingTC,
  title={Understanding the Correlation between Code Smells And Software Bugs},
  author={Marouane Kessentini},
  year={2019}
}

@inproceedings{MurphyHill2010AnIA,
  title={An interactive ambient visualization for code smells},
  author={Emerson R. Murphy-Hill and Andrew P. Black},
  booktitle={SOFTVIS '10},
  year={2010}
}

@article{Vaucher2009TrackingDS,
  title={Tracking Design Smells: Lessons from a Study of God Classes},
  author={St{\'e}phane Vaucher and Foutse Khomh and Naouel Moha and Yann-Ga{\"e}l Gu{\'e}h{\'e}neuc},
  journal={2009 16th Working Conference on Reverse Engineering},
  year={2009},
  pages={145-154}
}

@inproceedings{Broy2006DemystifyingM,
  title={Demystifying maintainability},
  author={Manfred Broy and Florian Dei{\ss}enb{\"o}ck and Markus Pizka},
  booktitle={WoSQ '06},
  year={2006}
}

@book{gamma1995design,
  title={Design patterns: elements of reusable object-oriented software},
  author={Gamma, Erich},
  year={1995},
  publisher={Pearson Education India}
}

@book{mcconnell2004code,
  title={Code complete},
  author={McConnell, Steve},
  year={2004},
  publisher={Pearson Education}
}

@inproceedings{LenatFeigenbaum1987,
author = {Lenat, Douglas and Feigenbaum, Edward},
year = {1987},
month = {01},
pages = {1173-1182},
title = {On the Thresholds of Knowledge.},
}
