CSCezar Sas

Cezar Sas

*This is an algorithmically generated author record based on publicly available information.

Current Organizations / Institutes

The organizations/institutes from the scholar's latest article

Previous Organizations / Institutes

The organizations / institutes from the scholar's other articles in the past ten years


Cezar Sas has a total of 13 co-authors. Here are the top co-authors by number of shared publications:


Latest Publications

  • Open Access

    Semantic Traceability Across Software Artifacts: A Domain-Centric Approach Using Embedding-Based Mapping

    by Zaki Pauzi, Cezar Sas, Andrea Capiluppi

    As software artifacts continuously evolve and increase in number, failure to manage traceability leads to feature inconsistencies, untested critical functionality, and increased maintenance costs. Automated traceability is therefore essential to prevent gaps in coverage between source code, documentation, and tests. The need for tracing to application domains is critical to understand the classification of semantics and the coverage (i.e., which application domain is present in each artifact?). In this paper, we propose the notion of using NLP to map concepts emerging from software artifacts to application domains, and tracing these between artifacts. We extracted the corpus keywords from source code, documentation, and tests. We ran an optimised Latent Dirichlet Allocation (LDA) to generate the concepts emerging from each artifact. We then calculated the similarity scores of each concept against each application domain, and ranked the difference of these scores between pairwise artifacts. Results show that the ranking of the inverse of the difference represents the strength of tracing in semantics, and different embeddings show varying results. We observed the strong applicability of our method and its replicability by other researchers and practitioners, particularly in detecting synchronised application domains that are traced between artifacts.

  • Open Access

    Understanding and tracing semantics of concepts to application domains emerging from source code, documentation, and tests

    by Zaki Pauzi, Andrea Capiluppi, Cezar Sas

    As software artifacts continuously evolve and increase in number, the need for automated traceability increases due to the complexity of trace links. Besides tracing components across different artifacts, the need for tracing to application domains is critical to understand the classification of semantics and the coverage (i.e., which application domain is present in each artifact?). In this paper, we propose the notion of using NLP to map concepts emerging from software artifacts to application domains, and tracing these between artifacts. We extracted the corpus keywords from source code, documentation, and tests. We ran an optimised Latent Dirichlet Allocation (LDA) to generate the concepts emerging from each artifact. We then calculated the similarity scores of each concept against each application domain, and ranked the difference of these scores between pairwise artifacts. Results show that the ranking of the inverse of the difference represents the strength of tracing in semantics, and different embeddings show varying results. We observed the strong applicability of our method and its replicability by other researchers and practitioners, particularly in detecting synchronised application domains that are traced between artifacts.


  • Open Access

    Multi-granular Software Annotation using File-level Weak Labelling

    by Cezar Sas, Andrea Capiluppi

    One of the most time-consuming tasks for developers is the comprehension of new code bases. An effective approach to aid this process is to label source code files with meaningful annotations, which can help developers understand the content and functionality of a code base quicker. However, most existing solutions for code annotation focus on project-level classification: manually labelling individual files is time-consuming, error-prone and hard to scale. The work presented in this paper aims to automate the annotation of files by leveraging project-level labels; and using the file-level annotations to annotate items at larger levels of granularity, for example, packages and a whole project. We propose a novel approach to annotate source code files using a weak labelling approach and a subsequent hierarchical aggregation. We investigate whether this approach is effective in achieving multi-granular annotations of software projects, which can aid developers in understanding the content and functionalities of a code base more quickly. Our evaluation uses a combination of human assessment and automated metrics to evaluate the annotations' quality. Our approach correctly annotated 50% of files and more than 50\% of packages. Moreover, the information captured at the file-level allowed us to identify, on average, three new relevant labels for any given project. We can conclude that the proposed approach is a convenient and promising way to generate noisy (not precise) annotations for files. Furthermore, hierarchical aggregation effectively preserves the information captured at file-level, and it can be propagated to packages and the overall project itself.

  • Open Access

    GitRanking: A ranking of GitHub topics for software classification using active sampling

    by Cezar Sas, Andrea Capiluppi, Claudio Di Sipio, Juri Di Rocco, Davide Di Ruscio

    Context: GitHub is the world's most prominent host of source code, with more than 327M repositories. However, most of these repositories are not labelled or inadequately, making it harder for users to find relevant projects. Various proposals for software application domain classification over the past years have been proposed. However, these several of those approaches suffer from multiple issues, called antipatterns of software classification, that reduce their usability.Objective: In this paper, we propose a new taxonomy in the GitHub ecosystem, called GitRanking, starting from a well‐structured data set, composed of curated repositories annotated with topics. The main objective is to create a baseline methodology for software classification that is expandable, hierarchical, grounded in a knowledge base, and free of antipatterns.Method: We collected 121K topics from GitHub and used GitRanking to create a taxonomy of 301 ranked application domains. GitRanking (1) uses active sampling to ensure a minimal number of annotations to create the ranking; and (2) links each topic to Wikidata, reducing ambiguities and improving the reusability of the taxonomy. Furthermore, we adopt the conceived taxonomy in a classification task by considering a state‐of‐the‐art classifier.Results: Our results show that GitRanking can effectively rank terms in a hierarchy according to how general or specific their meaning is. Furthermore, we show that GitRanking is a dynamically extensible method: it can currently accept further terms to be ranked, and with a minimum number of annotations (). Concerning the classification task, we show that the model achieves an F1‐score of 34%, with a precision of 54%.Conclusion: This paper is the first collective attempt at building a ground‐up taxonomy of software domains. Our vision is that our taxonomy, and its extensibility, can be used to better and more precisely label software projects.


  • Open Access

    Gitranking: A Ranking of Github Topics for Software Classification Using Active Sampling

    by Cezar Sas, Andrea Capiluppi, Claudio Di Sipio, Juri Di Rocco, Davide Di Ruscio

    Context: GitHub is the world's most prominent host of source code, with more than 327M repositories. However, most of these repositories are not labelled or inadequately, making it harder for users to find relevant projects. Various proposals for software application domain classification over the past years have been proposed. However, these several of those approaches suffer from multiple issues, called \textit{antipatterns} of software classification, that reduce their usability. Objective: In this paper, we propose a new taxonomy in the GitHub ecosystem, called GitRanking, starting from a well-structured dataset, composed of curated repositories annotated with topics. The main objective is to create a baseline methodology for software classification that is expandable, hierarchical, grounded in a knowledge base, and free of antipatterns.Method: We collected 121K topics from GitHub and used GitRanking to create a taxonomy of 301 ranked application domains. GitRanking 1) uses active sampling to ensure a minimal number of annotations to create the ranking; and 2) links each topic to Wikidata, reducing ambiguities and improving the reusability of the taxonomy. Furthermore, we adopt the conceived taxonomy in a classification task by considering a state-of-the-art classifier.Results: Our results show that GitRanking can effectively rank terms in a hierarchy according to how general or specific their meaning is. Furthermore, we show that GitRanking is a dynamically extensible method: it can currently accept further terms to be ranked, and with a minimum number of annotations (~ 15). Concerning the classification task, we show that the model achieves an F1-score of 34%, with a precision of 54%. Conclusion: This paper is the first collective attempt at building a ground-up taxonomy of software domains. Our vision is that our taxonomy, and its extensibility, can be used to better and more precisely label software projects.


  • Word Embeddings for Unsupervised Named Entity Linking

    by Debora Nozza, Cezar Sas, Elisabetta Fersini, Enza Messina