@article {MTMT:31361026,
	title = {An automatically created novel bug dataset and its validation in bug prediction},
	journal = {JOURNAL OF SYSTEMS AND SOFTWARE},
	volume = {169},
	year = {2020},
	abstract = {Bugs are inescapable during software development due to frequent code changes, tight deadlines, etc.;therefore, it is important to have tools to find these errors. One way of performing bug identifications to analyze the characteristics of buggy source code elements from the past and predict the present ones based on the same characteristics, using e.g. machine learning models. To support model building tasks, code elements and their characteristics are collected in so-called bug datasets which serve as the input for learning.We present the BugHunter Dataset: a novel kind of automatically constructed and freely available bug dataset containing code elements (files, classes, methods) with a wide set of code metrics and bug information. Other available bug datasets follow the traditional approach of gathering the characteristics of all source code elements (buggy and non-buggy) at only one or more pre-selected release versions of the code. Our approach, on the other hand, captures the buggy and the fixed states of the same source code elements from the narrowest time frame we can identify for a bug{\textquoteright}s presence,regardless of release versions. To show the usefulness of the new dataset, we built and evaluated bug prediction models and achieved F-measure values over 0.74.},
	keywords = {Bug dataset, Bug prediction, Code metrics, GitHub, Machine-learning, Static code analysis},
	issn = {0164-1212},
	doi = {10.1016/j.jss.2020.110691},
	url = {https://m2.mtmt.hu/api/publication/31361026},
	author = {Ferenc, Rudolf and Gyimesi, P{\'e}ter and Gyimesi, G{\'a}bor and T{\'o}th, Zolt{\'a}n G{\'a}bor and Tibor Gyim{\'o}thy}
}
@article {MTMT:31818418,
	title = {Deep learning in static, metric-based bug prediction},
	journal = {ARRAY},
	volume = {6},
	year = {2020},
	abstract = {Our increasing reliance on software products and the amount of money we spend on creating and maintaining them makes it crucial to find bugs as early and as easily as possible. At the same time, it is not enough to know that we should be paying more attention to bugs; finding them must become a quick and seamless process in order to be actually used by developers. Our proposal is to revitalize static source code metrics {\textendash} among the most easily calculable, while still meaningful predictors {\textendash} and combine them with deep learning {\textendash} among the most promising and generalizable prediction techniques {\textendash} to flag suspicious code segments at the class level. In this paper, we show a detailed methodology of how we adapted deep neural networks to bug prediction, applied them to a large bug dataset (containing 8780 bugged and 38,838 not bugged Java classes), and compared them to multiple {\textquotedblleft}traditional{\textquotedblright} algorithms. We demonstrate that deep learning with static metrics can indeed boost prediction accuracies. Our best model has an F-measure of 53.59\%, which increases to 55.27\% for the best ensemble model containing a deep learning component. Additionally, another experiment suggests that these values could improve even further with more data points. We also open-source our experimental Python framework to help other researchers replicate our findings.},
	keywords = {Bug prediction, Code metrics, Deep learning, NEURAL NETWORKS},
	issn = {2590-0056},
	doi = {10.1016/j.array.2020.100021},
	url = {https://m2.mtmt.hu/api/publication/31818418},
	author = {Ferenc, Rudolf and B{\'a}n, D{\'e}nes and Gr{\'o}sz, Tam{\'a}s and Tibor Gyim{\'o}thy}
}
@article {MTMT:31336850,
	title = {A public unified bug dataset for java and its assessment regarding metrics and bug prediction},
	journal = {SOFTWARE QUALITY JOURNAL},
	volume = {28},
	year = {2020},
	pages = {1447-1506},
	abstract = {Bug datasets have been created and used by many researchers to build and validate novel bug prediction models. In this work, our aim is to collect existing public source code metric-based bug datasets and unify their contents. Furthermore, we wish to assess the plethora of collected metrics and the capabilities of the unified bug dataset in bug prediction. We considered 5 public datasets and we downloaded the corresponding source code for each system in the datasets and performed source code analysis to obtain a common set of source code metrics. This way, we produced a unified bug dataset at class and file level as well. We investigated the diversion of metric definitions and values of the different bug datasets. Finally, we used a decision tree algorithm to show the capabilities of the dataset in bug prediction. We found that there are statistically significant differences in the values of the original and the newly calculated metrics; furthermore, notations and definitions can severely differ. We compared the bug prediction capabilities of the original and the extended metric suites (within-project learning). Afterwards, we merged all classes (and files) into one large dataset which consists of 47,618 elements (43,744 for files) and we evaluated the bug prediction model build on this large dataset as well. Finally, we also investigated cross-project capabilities of the bug prediction models and datasets. We made the unified dataset publicly available for everyone. By using a public unified dataset as an input for different bug prediction related investigations, researchers can make their studies reproducible, thus able to be validated and verified.},
	keywords = {Bug dataset, Bug prediction, Code metrics, Static code analysis},
	issn = {0963-9314},
	doi = {10.1007/s11219-020-09515-0},
	url = {https://m2.mtmt.hu/api/publication/31336850},
	author = {Ferenc, Rudolf and T{\'o}th, Zolt{\'a}n G{\'a}bor and Lad{\'a}nyi, Gergely and Siket, Istv{\'a}n and Tibor Gyim{\'o}thy}
}
@conference {LHF14,
	title = {The Connection of the Bug Density and Maintainability of Classes},
	booktitle = {8th International Workshop on Software Quality and Maintainability},
	series = {SQM},
	year = {2014},
	note = {Presentation only},
	month = {feb},
	address = {Antwerp, Belgium},
	abstract = {Measuring software product maintainability is a central issue in software engineering which led to a number of different practical quality models. Besides system level assessments it is also desirable that these models provide technical quality information at source code element level (e.g. classes, methods) to aid the improvement of the software. Although many existing models give an ordered list of source code elements that should be improved, it is unclear how these improvements affect other important quality indicators of the system, e.g. bug density. In this paper we empirically investigate the connection of bug numbers in the classes of different open-source systems and the class level maintainability measures of our ColumbusQM probabilistic quality model using open-access bug datasets. We show that classes with lower maintainability score contain significantly more bugs than more maintainable classes. Moreover, in terms of correctness and completeness, ColumbusQM competes with statistical and machine learning prediction models especially trained on the bug data using product metrics as predictors. This is a great achievement in the light of that our model needs no training and its purpose is different (e.g. to estimate testability, or development costs) than those of the bug prediction models. In summary, we show that improving the maintainability of a software according to the suggestions of our quality model will expectedly also reduce its bug density.},
	keywords = {Bug density, Bug prediction, Class level maintainability, ColumbusQM, ISO/IEC 25010, Software maintainability},
	author = {Lad{\'a}nyi, Gergely and P Heged{\H u}s and Rudolf Ferenc and Istv{\'a}n Siket and Tibor Gyim{\'o}thy}
}
