Matúš Sulír

Dr. Matúš Sulír

orcid

Research Focus & Metrics

Academic Career Length

12Years (2015-Present)

(Calculated once Scilit publication data is synced: current year − year of first publication + 1)

Representative Publications

View All Publications
2 July 2022 in Empirical Software Engineering
Verified
Journal Article
Open access
PDF file
SHSteffen Herbold
Steffen Herbold
ATAlexander Trautsch
Alexander Trautsch
BLBenjamin Ledel
Benjamin Ledel
AAAlireza Aghamohammadi
Alireza Aghamohammadi
TGTaher A. Ghaleb
Taher A. Ghaleb
JEJohannes Erbel
Johannes Erbel
Context: Tangled commits are changes to software that address multiple concerns at once. For researchers interested in bugs, tangled commits mean that they actually study not only bugs, but also other concerns irrelevant for the study of bugs. Objective: We want to improve our understanding of the prevalence of tangling and the types of changes that are tangled within bug fixing commits. Methods: We use a crowd sourcing approach for manual labeling to validate which changes contribute to bug fixes for each line in bug fixing commits. Each line is labeled by four participants. If at least three participants agree on the same label, we have consensus. Results: We estimate that between 17% and 32% of all changes in bug fixing commits modify the source code to fix the underlying problem. However, when we only consider changes to the production code files this ratio increases to 66% to 87%. We find that about 11% of lines are hard to label leading to active disagreements between participants. Due to confirmed tangling and the uncertainty in our data, we estimate that 3% to 47% of data is noisy without manual untangling, depending on the use case. Conclusion: Tangled commits have a high prevalence in bug fixes and can lead to a large amount of noise in the data. Prior research indicates that this noise may alter results. As researchers, we should be skeptics and assume that unvalidated data is likely very noisy, until proven otherwise.

1 December 2018 in Journal of Visual Languages & Computing
Verified
Journal Article
Closed access
MSMatúš Sulír
Matúš Sulír
MBMichaela Bačíková
Michaela Bačíková
SCSergej Chodarev
Sergej Chodarev
JPJaroslav Porubän
Jaroslav Porubän

1 November 2016
Verified
Conference Paper
Open access
MSMatúš Sulír
Matúš Sulír
JPJaroslav Porubän
Jaroslav Porubän
Researchers, students and practitioners often encounter a situation when the build process of a third-party software system fails. In this paper, we aim to confirm this observation present mainly as anecdotal evidence so far. Using a virtual environment simulating a programmer's one, we try to fully automatically build target archives from the source code of over 7,200 open source Java projects. We found that more than 38% of builds ended in failure. Build log analysis reveals the largest portion of errors are dependency-related. We also conduct an association study of factors affecting build success.

21 September 2020 in Data
Verified
Journal Article
Open access
PDF file
MSMatúš Sulír
Matúš Sulír
MBMichaela Bačíková
Michaela Bačíková
MMMatej Madeja
Matej Madeja
SCSergej Chodarev
Sergej Chodarev
JJJán Juhár
Ján Juhár
When a person decides to inspect or modify a third-party software project, the first necessary step is its successful compilation from source code using a build system. However, such attempts often end in failure. In this data descriptor paper, we provide a dataset of build results of open source Java software systems. We tried to automatically build a large number of Java projects from GitHub using their Maven, Gradle, and Ant build scripts in a Docker container simulating a standard programmer’s environment. The dataset consists of the output of two executions: 7264 build logs from a study executed in 2016 and 7233 logs from the 2020 execution. In addition to the logs, we collected exit codes, file counts, and various project metadata. The proportion of failed builds in our dataset is 38% in the 2016 execution and 59% in the 2020 execution. The published data can be helpful for multiple purposes, such as correlation analysis of factors affecting build success, build failure prediction, and research in the area of build breakage repair.

1 January 2016 in Computer Science and Information Systems
Verified
Journal Article
Open access
MNMilan Nosál’
Milan Nosál’
MSMatúš Sulír
Matúš Sulír
JJJán Juhár
Ján Juhár
In this paper we examine source code annotations from the viewpoint of formal languages - we discuss their abstract syntax, concrete syntax, and semantics, thus showing the correspondence between annotations and formal languages. We propose to consider a set of all annotations and their parameters processed by the same reference implementation (they belong to the same domain) to be called an annotation-based language. The performed analysis also pinpoints a specificity of annotations in comparison with formal languages in general - the binding between annotations and a host language. We elaborate this idea with an analysis of annotations? potential for language composition, in particular for pure embedding. We then show how pure embedding with annotations can be used for language unification, language referencing by extension, and language extension. This work provides a basis for further research in the field of source code annotations in the context of formal languages.

1 November 2016 in Computer Languages, Systems & Structures
Verified
Journal Article
Closed access
MSMatúš Sulír
Matúš Sulír
MNMilan Nosáľ
Milan Nosáľ
JPJaroslav Porubän
Jaroslav Porubän