@conference {SCAM:CG:COMPARE,
	title = {{Static JavaScript Call Graphs: a Comparative Study}},
	booktitle = {Proceedings of the 18th IEEE International Working Conference on Source Code Analysis and Manipulation},
	year = {2018},
	publisher = {IEEE},
	organization = {IEEE},
	author = {Antal, G{\'a}bor and Heged{\H u}s, P{\'e}ter and T{\'o}th, Zolt{\'a}n and Ferenc, Rudolf and Tibor Gyim{\'o}thy}
}
@conference {TGF16,
	title = {A Public Bug Database of {GitHub} Projects and Its Application in Bug Prediction},
	booktitle = {Proceedings of the 16th International Conference on Computational Science and Its Applications (ICCSA 2016)},
	year = {2016},
	pages = {625{\textendash}638},
	publisher = {Springer International Publishing},
	organization = {Springer International Publishing},
	address = {Beijing, China},
	abstract = {Detecting defects in software systems is an evergreen topic, since there is no real world software without bugs. Many different bug locating algorithms have been presented recently that can help to detect hidden and newly occurred bugs in software. Papers trying to predict the faulty source code elements or code segments in the system always use experience from the past. In most of the cases these studies construct a database for their own purposes and do not make the gathered data publicly available. Public datasets are rare; however, a well constructed dataset could serve as a benchmark test input. Furthermore, open-source software development is rapidly increasing that also gives an opportunity to work with public data. In this study we selected 15 Java projects from GitHub to construct a public bug database from. We matched the already known and fixed bugs with the corresponding source code elements (classes and files) and calculated a wide set of product metrics on these elements. After creating the desired bug database, we investigated whether the built database is usable for bug prediction. We used 13 machine learning algorithms to address this research question and finally we achieved F-measure values between 0.7 and 0.8. Beside the F-measure values we calculated the bug coverage ratio on every project for every machine learning algorithm. We obtained very high and promising bug coverage values (up to 100\%).},
	keywords = {Bug database, Bug prediction},
	doi = {10.1007/978-3-319-42089-9_44},
	url = {https://link.springer.com/chapter/10.1007\%2F978-3-319-42089-9_44},
	author = {T{\'o}th, Zolt{\'a}n and Gyimesi, P{\'e}ter and Rudolf Ferenc}
}
@conference {GGT15,
	title = {Characterization of Source Code Defects by Data Mining Conducted on {GitHub}},
	booktitle = {Proceedings of the 15th International Conference on Computational Science and Its Applications (ICCSA 2015)},
	series = {Lecture Notes in Computer Science (LNCS)},
	volume = {9159},
	year = {2015},
	month = {jun},
	pages = {47{\textendash}62},
	publisher = {Springer-Verlag},
	organization = {Springer-Verlag},
	address = {Banff, Alberta, Canada},
	abstract = {In software systems the coding errors are unavoidable due to the frequent source changes, the tight deadlines and the inaccurate specifications. Therefore, it is important to have tools that help us in finding these errors. One way of supporting bug prediction is to analyze the characteristics of the previous errors and identify the unknown ones based on these characteristics. This paper aims to characterize the known coding errors. Nowadays, the popularity of the source code hosting services like GitHub are increasing rapidly. They provide a variety of services, among which the most important ones are the version and bug tracking systems. Version control systems store all versions of the source code, and bug tracking systems provide a unified interface for reporting errors. Bug reports can be used to identify the wrong and the previously fixed source code parts, thus the bugs can be characterized by static source code metrics or by other quantitatively measured properties using the gathered data. We chose GitHub for the base of data collection and we selected 13 Java projects for analysis. As a result, a database was constructed, which characterizes the bugs of the examined projects, thus can be used, inter alia, to improve the automatic detection of software defects.},
	keywords = {Bug database, Data mining, GitHub},
	doi = {10.1007/978-3-319-21413-9_4},
	url = {https://link.springer.com/chapter/10.1007\%2F978-3-319-21413-9_4},
	author = {Gyimesi, P{\'e}ter and Gyimesi, G{\'a}bor and T{\'o}th, Zolt{\'a}n and Rudolf Ferenc}
}
@conference {TVF15,
	title = {Comparison of Static Analysis Tools for Quality Measurement of {RPG} Programs},
	booktitle = {Proceedings of the 15th International Conference on Computational Science and Its Applications (ICCSA 2015)},
	series = {Lecture Notes in Computer Science (LNCS)},
	volume = {9159},
	year = {2015},
	month = {jun},
	pages = {177{\textendash}192},
	publisher = {Springer-Verlag},
	organization = {Springer-Verlag},
	address = {Banff, Alberta, Canada},
	abstract = {The RPG programming language is a popular language employed widely in IBM i mainframes nowadays. Legacy mainframe systems that evolved and survived the past decades usually data intensive and even business critical applications. Recent, state of the art quality assurance tools are mostly focused on popular languages like Java, C++ or Python. In this work we compare two source code based quality management tools for the RPG language. The study is focused on the data obtained using static analysis, which is then aggregated to higher level quality attributes. SourceMeter is a command line tool-chain capable to measure various source attributes like metrics and coding rule violations. SonarQube is a quality management platform with RPG language support. To facilitate the objective comparison, we used the SourceMeter for RPG plugin for SonarQube, which seamlessly integrates into the framework extending its capabilities. The evaluation is built on analysis success and depth, source code metrics, coding rules and code duplications. We found that SourceMeter is more advanced in analysis depth, product metrics and finding duplications, while their performance of coding rules and analysis success is rather balanced. Since both tools were presented recently on the market of quality assurance tools, we expect additional releases in the future with more mature analyzers.},
	keywords = {Coding rules, IBM RPG, metrics, software quality, SonarQube, SourceMeter, Static Analysis},
	doi = {10.1007/978-3-319-21413-9_13},
	url = {https://link.springer.com/chapter/10.1007\%2F978-3-319-21413-9_13},
	author = {T{\'o}th, Zolt{\'a}n and L{\'a}szl{\'o} Vid{\'a}cs and Rudolf Ferenc}
}
@conference {LTF15,
	title = {A Software Quality Model for {RPG}},
	booktitle = {Proceedings of the 22nd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2015)},
	year = {2015},
	month = {mar},
	pages = {91{\textendash}100},
	publisher = {IEEE Computer Society},
	organization = {IEEE Computer Society},
	address = {Montr{\'e}al, Canada},
	abstract = {The IBM i mainframe was designed to manage business applications for which the reliability and quality is a matter of national security. The RPG programming language is the most frequently used one on this platform. The maintainability of the source code has big influence on the development costs, probably this is the reason why it is one of the most attractive, observed and evaluated quality characteristic of all. For improving or at least preserving the maintainability level of software it is necessary to evaluate it regularly. In this study we present a quality model based on the ISO/IEC 25010 international standard for evaluating the maintainability of software systems written in RPG. As an evaluation step of the quality model we show a case study in which we explain how we integrated the quality model as a continuous quality monitoring tool into the business processes of a mid-size software company which has more than twenty years of experience in developing RPG applications.},
	keywords = {Case Study, IBM i mainframe, ISO/IEC 25010, RPG quality model, Software maintainability},
	doi = {10.1109/SANER.2015.7081819},
	url = {http://ieeexplore.ieee.org/document/7081819/},
	author = {Lad{\'a}nyi, Gergely and T{\'o}th, Zolt{\'a}n and Rudolf Ferenc and Keresztesi, Tibor}
}
@conference {TNF13,
	title = {Using Version Control History to Follow the Changes of Source Code Elements},
	booktitle = {Proceedings of the 17th European Conference on Software Maintenance and Reengineering (CSMR 2013)},
	year = {2013},
	month = {mar},
	pages = {319{\textendash}322},
	publisher = {IEEE Computer Society},
	organization = {IEEE Computer Society},
	address = {Genova, Italy},
	abstract = {Version control systems store the whole history of the source code. Since the source code of a system is organized into files and folders, the history tells us the concerned files and their changed lines only but software engineers are also interested in which source code elements (e.g. classes or methods) are affected by a change. Unfortunately, in most programming languages source code elements do not follow the file system hierarchy, which means that a file can contain more classes and methods and a class can be stored in more files, which makes it difficult to determine the changes of classes by using the changes of files. To solve this problem we developed an algorithm, which is able to follow the changes of the source code elements by using the changes of files and we successfully applied it on the Web Kit open source system.},
	keywords = {Repository Mining, Static Analysis, Version Control System},
	doi = {10.1109/CSMR.2013.40},
	url = {http://ieeexplore.ieee.org/document/6498479/},
	author = {T{\'o}th, Zolt{\'a}n and Nov{\'a}k, G{\'a}bor and Rudolf Ferenc and Istv{\'a}n Siket}
}
