Options
Amine Abbad-Andaloussi
Last Name
Abbad-Andaloussi
First name
Amine
Email
amine.abbad-andaloussi@unisg.ch
ORCID
Phone
+41 71 224 2635
Now showing
1 - 10 of 16
-
PublicationType: conference paperVolume: 2028
-
PublicationHow Well Can Masked Language Models Spot Identifiers That Violate Naming Guidelines?( 2023)
;Johannes Villmow ;Viola Campos ;Jean Petry ;Adrian UlgesUsing meaningful identifiers in source code reduces the risk of errors, the cognitive load of developers, and speeds up the development process. Therefore, recent research has looked into an AI-based analysis of identifiers, for which large-scale language models appear to offer great potential. Based on tokens' probabilities, such models can suggest identifiers that are likely to appear in a given context. While current research has used language models to predict the most likely identifier names, studies on assessing the quality of given identifiers are scarce. To this end, we explore adherence to identifier naming guidelines as a proxy for identifier quality and propose and evaluate two unsupervised approaches for spotting violations: First, a generative approach, which uses the probability distribution of the language model directly without fine-tuning. Second, a discriminative method, which fine-tunes the model's encoder to discriminate between original identifiers and similar drop-in replacements suggested by a weak AI. We demonstrate that the proposed approaches can successfully detect violations of common guidelines for identifier naming. To do so, we have developed a dataset built on widely accepted identifier naming guidelines. The manually annotated dataset contains more than 6000 dense annotations of identifiers for 28 common guidelines. Using the data, we show that the generative approach achieves the best results, but that the particular masking strategy and scoring method matter substantially. Also, we demonstrate our approach to outperform other recent code transformers. In a per-guideline analysis, we highlight the potential and limitations of language models, and provide a blueprint for training and evaluating their ability to identify bad identifier names in source code. We make our dataset and models' implementation publicly available to encourage future research on AI-based identifier quality assessment.Type: conference paperJournal: 2023 IEEE 23rd International Working Conference on Source Code Analysis and Manipulation (SCAM) -
PublicationAn Open-Source Modeling Editor for Declarative Process Models( 2023)
;Lucien Kiven Tamo ;Dung My Thi TrinhHugo A. LópezThis paper presents an open-source modeling environment for Declarative Process Models. Traditionally, process models have described rigid structures, where re-work, process variants, and alternatives are difficult to represent. The Dynamic Condition Response (DCR) Graphs notation is a declarative process modeling notation that enables the description of processes with a high level of flexibility, using behavioral constraints to allow only compliant executions. The DCR-js editor is an open-source web-based editor for DCR graphs for academic use that enables the process management community to interact with declarative process models. As part of the innovations of the tool, DCR-js provides an alternative, semantic-transparent representation of declarative process models. Its web-based interface makes it ideal to be used as a component in tool-based experiments on cognitive aspects of modeling business processes. With DCR-js, we expect to render declarative process models more accessible to novice and academic users.Type: conference paper -
PublicationEstimating developers' cognitive load at a fine-grained level using eye-tracking measuresThe comprehension of source code is a task inherent to many software development activities. Code change, code review and debugging are examples of these activities that depend heavily on developers' understanding of the source code. This ability is threatened when developers' cognitive load approaches the limits of their working memory, which in turn affects their understanding and makes them more prone to errors. Measures capturing humans' behavior and changes in their physiological state have been proposed in a number of studies to investigate developers' cognitive load. However, the majority of the existing approaches operate at a coarse-grained task level estimating the difficulty of the source code as a whole. Hence, they cannot be used to pinpoint the mentally demanding parts of it. We address this limitation in this paper through a non-intrusive approach based on eye-tracking. We collect users' behavioral and physiological features while they are engaging with source code and train a set of machine learning models to estimate the mentally demanding parts of code. The evaluation of our models returns F1, recall, accuracy and precision scores up to 85.65%, 84.25%, 86.24% and 88.61%, respectively, when estimating the mental demanding fragments of code. Our approach enables a fine-grained analysis of cognitive load and allows identifying the parts challenging the comprehension of source code. Such an approach provides the means to test new hypotheses addressing the characteristics of specific parts within the source code and paves the road for novel techniques for code review and adaptive e-learning.Type: conference paper
-
PublicationTowards a Fine-grained Analysis of Cognitive Load During Program ComprehensionProgram comprehension is inherent to all software development activities. This task may require a high mental effort (or so-called “cognitive load”), which in turn can hinder the performance of developers. In the literature, several authors have investigated the ability of biosignals to estimate developers’ cognitive load during program comprehension. While the majority of these studies provide estimates at the task level, we aim for a more fine-grained level of analysis allowing to pinpoint the critical parts of code that could be associated with cognitive load. We infer these critical parts solely from eye fixation features and investigate qualitatively their relationship with those perceived as challenging by users. Being able to pinpoint critical parts in the source-code, is a first stride towards a very handy approach providing targeted support to developers to prevent them from committing errors. Furthermore, such a lightweight approach can be adapted in online settings.Type: conference paperJournal: 2022 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)
Scopus© Citations 5 -
PublicationChain of events: modular process models for the law(Springer, 2020)
;Debois, Søren ;López, Hugo A ;Slaats, TijsHildebrandt, Thomas TType: conference paper -
PublicationToward an Automated Labeling of Event Log Attributes( 2018)
;Burattin, AndreaType: conference paper -
PublicationEvaluating the understandability of hybrid process model representations using eye tracking: first insights(Springer, 2018)
;Slaats, Tijs ;Burattin, Andrea ;Hildebrandt, Thomas TType: conference paper -
PublicationA Research Model to Test the Understandability of Hybrid Process Models Using DCR Graphs( 2018)
;Slaats, Tijs ;Burattin, Andrea ;Hildebrandt, ThomasType: conference paper -
PublicationOn the Cognitive Effects of Abstraction and Fragmentation in Modularized Process Models( 2023)
;Clemens SchreiberProcess models support a variety of tasks, which can be organized differently. Notably one can discern local tasks focusing on a single part of a model and global tasks requiring an overview of several parts. These two task types are assumed to affect users’ understanding of processes differently especially if the processes are decomposed into many interlinked and self-contained models through modularization. Local tasks can benefit from abstraction as they enable information hiding, while global tasks can be impeded by fragmentation caused by the split attention effect. Following a task-centric approach, we substantiate this hypothesis by investigating the cognitive effects of abstraction and fragmentation in modularization. Therein, we focus particularly on horizontal modularization and study users’ cognitive load, comprehension and behavior when solving local and global tasks. Our findings confirm that, compared to abstraction, fragmentation hinders users’ comprehension of the model and raises their cognitive load. Additionally, users exhibit different search and integration behaviors when performing local and global tasks. The outcome of this work motivates the shift from artifact-centric to task-centric empirical studies, raises the need for approaches to mitigate the effect of fragmentation and explores different alternatives to achieve this goal.Type: book sectionJournal:Lecture Notes in Computer ScienceBusiness Process ManagementScopus© Citations 2