@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:30379629,
	title = {Differences between a static and a dynamic test-to-code traceability recovery method},
	journal = {SOFTWARE QUALITY JOURNAL},
	volume = {27},
	year = {2019},
	pages = {797-822},
	issn = {0963-9314},
	doi = {10.1007/s11219-018-9430-x},
	url = {https://m2.mtmt.hu/api/publication/30379629},
	author = {Gergely, Tam{\'a}s and Balogh, Gerg{\H o} and Horv{\'a}th, Ferenc and Vancsics, B{\'e}la and Besz{\'e}des, {\'A}rp{\'a}d and Tibor Gyim{\'o}thy}
}
@article {16564,
	title = {Differences Between a Static and a Dynamic Test-to-Code Traceability Recovery Method},
	journal = {Software Quality Journal},
	volume = {27},
	year = {2018},
	month = {06/2019},
	pages = {797-822},
	abstract = {Recovering test-to-code traceability links may be required in virtually every phase of development. This task might seem simple for unit tests thanks to two fundamental unit testing guidelines: isolation (unit tests should exercise only a single unit) and separation (they should be placed next to this unit). However, practice shows that recovery may be challenging because the guidelines typically cannot be fully followed. Furthermore, previous works have already demonstrated that fully automatic test-to-code traceability recovery for unit tests is virtually impossible in a general case. In this work, we propose a semi-automatic method for this task, which is based on computing traceability links using static and dynamic approaches, comparing their results and presenting the discrepancies to the user, who will determine the final traceability links based on the differences and contextual information. We define a set of discrepancy patterns, which can help the user in this task. Additional outcomes of analyzing the discrepancies are structural unit testing issues and related refactoring suggestions. For the static test-to-code traceability, we rely on the physical code structure, while for the dynamic, we use code coverage information. In both cases, we compute combined test and code clusters which represent sets of mutually traceable elements. We also present an empirical study of the method involving 8 non-trivial open source Java systems.},
	keywords = {Code coverage, refactoring, select:quality, Structural test smells, Test-to-code traceability, Traceability link recovery, Unit testing},
	doi = {10.1007/s11219-018-9430-x},
	url = {https://link.springer.com/article/10.1007/s11219-018-9430-x},
	author = {Tam{\'a}s Gergely and Gerg{\H o} Balogh and Ferenc Horv{\'a}th and B{\'e}la Vancsics and {\'A}rp{\'a}d Besz{\'e}des and Tibor Gyimothy}
}
@conference {SNF16,
	title = {Designing and Developing Automated Refactoring Transformations: An Experience Report},
	booktitle = {Proceedings of the 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2016)},
	year = {2016},
	month = {mar},
	pages = {693{\textendash}697},
	publisher = {IEEE Computer Society},
	organization = {IEEE Computer Society},
	address = {Suita, Osaka, Japan},
	abstract = {There are several challenges which should be kept in mind during the design and development phases of a refactoring tool, and one is that developers have several expectations that are quite hard to satisfy. In this report, we present our experiences of a two-year project where we attempted to create an automatic refactoring tool. In this project, we worked with five software development companies that wanted to improve the maintainability of their products. The project was designed to take into account the expectations of the developers of these companies and consisted of three main stages: a manual refactoring phase, a tool building phase, and an automatic refactoring phase. Throughout these stages we collected the opinions of the developers and faced several challenges on how to automate refactoring transformations, which we present and summarize.},
	keywords = {Automated Refactoring, code smells, coding issues, software maintenance},
	doi = {10.1109/SANER.2016.17},
	url = {http://ieeexplore.ieee.org/document/7476700/},
	author = {Sz{\H o}ke, G{\'a}bor and Csaba Nagy and Rudolf Ferenc and Tibor Gyim{\'o}thy}
}
@conference {SNH15,
	title = {Do Automatic Refactorings Improve Maintainability? An Industrial Case Study},
	booktitle = {Proceedings of the 31st International Conference on Software Maintenance and Evolution (ICSME 2015)},
	year = {2015},
	pages = {429{\textendash}438},
	publisher = {IEEE Computer Society},
	organization = {IEEE Computer Society},
	address = {Bremen, Germany},
	abstract = {Refactoring is often treated as the main remedy against the unavoidable code erosion happening during software evolution. Studies show that refactoring is indeed an elemental part of the developers{\textquoteright} arsenal. However, empirical studies about the impact of refactorings on software maintainability still did not reach a consensus. Moreover, most of these empirical investigations are carried out on open-source projects where distinguishing refactoring operations from other development activities is a challenge in itself. We had a chance to work together with several software development companies in a project where they got extra budget to improve their source code by performing refactoring operations. Taking advantage of this controlled environment, we collected a large amount of data during a refactoring phase where the developers used a (semi)automatic refactoring tool. By measuring the maintainability of the involved subject systems before and after the refactorings, we got valuable insights into the effect of these refactorings on large-scale industrial projects. All but one company, who applied a special refactoring strategy, achieved a maintainability improvement at the end of the refactoring phase, but even that one company suffered from the negative impact of only one type of refactoring.},
	keywords = {automatic refactoring, coding issues, ISO/IEC 25010, Software maintainability},
	doi = {10.1109/ICSM.2015.7332494},
	url = {http://ieeexplore.ieee.org/document/7332494/},
	author = {Sz{\H o}ke, G{\'a}bor and Csaba Nagy and P Heged{\H u}s and Rudolf Ferenc and Tibor Gyim{\'o}thy}
}
@article {16327,
	title = {Developer Support for Understanding Preprocessor Macro Expansions},
	journal = {Communications in Computer and Information Science},
	volume = {340},
	year = {2012},
	pages = {121{\textendash}130},
	issn = {1865-0929},
	author = {L{\'a}szl{\'o} Vid{\'a}cs and D{\'e}vai, R. and Rudolf Ferenc and Tibor Gyim{\'o}thy}
}
@conference {16304,
	title = {Development of a Unified Software Quality Platform in the Szeged {InfoP{\'o}lus} Cluster},
	booktitle = {Proceedings of the16th European Conference on Software Maintenance and Reengineering (CSMR{\textquoteright}12)},
	year = {2012},
	pages = {495{\textendash}498},
	publisher = {IEEE Computer Society},
	organization = {IEEE Computer Society},
	address = {Los Alamitos},
	author = {{\'A}rp{\'a}d Besz{\'e}des and Schrettner, L. and Tibor Gyim{\'o}thy},
	editor = {T. Mens and A. Cleve and Rudolf Ferenc}
}
@conference {BGF07,
	title = {The Dynamic Function Coupling Metric and Its Use in Software Evolution},
	booktitle = {Proceedings of the 11th European Conference on Software Maintenance and Reengineering (CSMR{\textquoteright}07)},
	year = {2007},
	month = {mar},
	pages = {103-112},
	author = {{\'A}rp{\'a}d Besz{\'e}des and Tam{\'a}s Gergely and Sz. Farag{\'o} and Tibor Gyim{\'o}thy and Fischer, Ferenc}
}
@conference {Szegedi:2005:DSJ:1099551.1100792,
	title = {Dynamic Slicing of Java Bytecode Programs},
	booktitle = {Proceedings of the Fifth IEEE International Workshop on Source Code Analysis and Manipulation},
	year = {2005},
	pages = {35{\textendash}44},
	publisher = {IEEE Computer Society},
	organization = {IEEE Computer Society},
	address = {Washington, DC, USA},
	isbn = {0-7695-2292-0},
	doi = {10.1109/SCAM.2005.8},
	url = {http://dl.acm.org/citation.cfm?id=1099551.1100792},
	author = {A. Szegedi and Tibor Gyim{\'o}thy}
}
@conference {SzGy04,
	title = {Dynamic Slicing of Programs Compiled for the Java VirtualMachine},
	booktitle = {Volume of Extended Abstracts of the 4th Conference of PhD Students in Computer Science},
	year = {2004},
	month = {jul},
	pages = {115},
	author = {A. Szegedi and Tibor Gyim{\'o}thy}
}
@article {Szilagyi:2001:DSL:512590.512601,
	title = {The debug slicing of logic programs},
	journal = {Acta Cybernetica},
	volume = {15},
	year = {2001},
	month = {December},
	pages = {257{\textendash}278},
	publisher = {Acta Cybernetica},
	address = {Szeged, Hungary, Hungary},
	issn = {0324-721X},
	url = {http://dl.acm.org/citation.cfm?id=512590.512601},
	author = {Gy. Szil{\'a}gyi and L. Harmath and Tibor Gyim{\'o}thy}
}
@conference {BGS01,
	title = {Dynamic Slicing Method for Maintenance of Large {C} Programs},
	booktitle = {Proceedings of the Fifth European Conference on Software Maintenance and Reengineering (CSMR 2001)},
	year = {2001},
	month = {mar},
	pages = {105-113},
	publisher = {IEEE Computer Society},
	organization = {IEEE Computer Society},
	keywords = {relate:quality, software quality selected},
	author = {{\'A}rp{\'a}d Besz{\'e}des and Tam{\'a}s Gergely and Zs. M. Szab{\'o} and J. Csirik and Tibor Gyim{\'o}thy}
}
@conference {HSzGy00,
	title = {Debug Slicing of Logic Programs},
	booktitle = {Conference of PhD Students on Computer Sciences},
	year = {2000},
	month = {jul},
	pages = {43-44},
	author = {Gy. Szil{\'a}gyi and L. Harmath and Tibor Gyim{\'o}thy}
}
@conference {HSzGy99,
	title = {Dynamic Slicing of Logic Programs: Program analysis and verification},
	booktitle = {The Sixth Fenno-Ugric Symposium on Software Technology},
	year = {1999},
	month = {aug},
	pages = {101-113},
	author = {L. Harmath and Gy. Szil{\'a}gyi and Tibor Gyim{\'o}thy and J. Csirik}
}
@conference {TKCs98,
	title = {Development of {SPECG} System for Automated {ECG} Analysis},
	booktitle = {XXVth International Congress on Electrocardiology and 39th International Vectorcardiography},
	year = {1998},
	month = {jun},
	pages = {37},
	author = {A. Thury and G. K{\'o}kai and J. Csirik and Tibor Gyim{\'o}thy and M. Csan{\'a}dy}
}
@article {Kokai_diagnosisof,
	title = {Diagnosis of Heart Diseases with the Help of the {PECG} System},
	journal = {Annals of Noninvasive Electrocardiology},
	volume = {3},
	number = {2-3},
	year = {1998},
	pages = {58},
	author = {G. K{\'o}kai and A. Thury and Tibor Gyim{\'o}thy and J. Csirik and M. Csan{\'a}dy}
}
