Walid Maalej’s research while affiliated with Hamburg University and other places

What is this page?


This page lists works of an author who doesn't have a ResearchGate profile or hasn't added the works to their profile yet. It is automatically generated from public (personal) data to further our legitimate goal of comprehensive and accurate scientific recordkeeping. If you are this author and want this page removed, please let us know.

Publications (159)


Testability Refactoring in Pull Requests: Patterns and Trends
  • Preprint

March 2023

·

29 Reads

Pavel Reich

·

Walid Maalej

To create unit tests, it may be necessary to refactor the production code, e.g. by widening access to specific methods or by decomposing classes into smaller units that are easier to test independently. We report on an extensive study to understand such composite refactoring procedures for the purpose of improving testability. We collected and studied 346,841 java pull requests from 621 GitHub projects. First, we compared the atomic refactorings in two populations: pull requests with changed test-pairs (i.e. with co-changes in production and test code and thus potentially including testability refactoring) and pull requests without test-pairs. We found significantly more atomic refactorings in test-pairs pull requests, such as Change Variable Type Operation or Change Parameter Type. Second, we manually analyzed the code changes of 200 pull requests, where developers explicitly mention the terms "testability" or "refactor + test". We identified ten composite refactoring procedures for the purpose of testability, which we call testability refactoring patterns. Third, we manually analyzed additional 524 test-pairs pull requests: both randomly selected and where we assumed to find testability refactorings, e.g. in pull requests about dependency or concurrency issues. About 25% of all analyzed pull requests actually included testability refactoring patterns. The most frequent were extract a method for override or for invocation, widen access to a method for invocation, and extract a class for invocation. We also report on frequent atomic refactorings which co-occur with the patterns and discuss the implications of our findings for research, practice, and education


Tailoring Requirements Engineering for Responsible AI

February 2023

·

25 Reads

Requirements Engineering (RE) is the discipline for identifying, analyzing, as well as ensuring the implementation and delivery of user, technical, and societal requirements. Recently reported issues concerning the acceptance of Artificial Intelligence (AI) solutions after deployment, e.g. in the medical, automotive, or scientific domains, stress the importance of RE for designing and delivering Responsible AI systems. In this paper, we argue that RE should not only be carefully conducted but also tailored for Responsible AI. We outline related challenges for research and practice.


Design Patterns for Machine Learning Based Systems with Human-in-the-Loop

January 2023

·

9 Reads

·

6 Citations

IEEE Software

The development and deployment of systems using supervised machine learning (ML) remain challenging: mainly due to the limited reliability of prediction models and the lack of knowledge on how to effectively integrate human intelligence into automated decision-making. Humans involvement in the ML process is a promising and powerful paradigm to overcome the limitations of pure automated predictions and improve the applicability of ML in practice. We compile a catalog of design patterns to guide developers select and implement suitable humanin-the-loop (HiL) solutions. Our catalog takes into consideration key requirements as the cost of human involvement and model retraining. It includes four training patterns, four operation patterns, and two orthogonal cooperation patterns.



An Exploratory Study of Documentation Strategies for Product Features in Popular GitHub Projects
  • Conference Paper
  • Full-text available

October 2022

·

41 Reads

·

6 Citations

Download


An Exploratory Study of Documentation Strategies for Product Features in Popular GitHub Projects

August 2022

·

15 Reads

[Background] In large open-source software projects, development knowledge is often fragmented across multiple artefacts and contributors such that individual stakeholders are generally unaware of the full breadth of the product features. However, users want to know what the software is capable of, while contributors need to know where to fix, update, and add features. [Objective] This work aims at understanding how feature knowledge is documented in GitHub projects and how it is linked (if at all) to the source code. [Method] We conducted an in-depth qualitative exploratory content analysis of 25 popular GitHub repositories that provided the documentation artefacts recommended by GitHub's Community Standards indicator. We first extracted strategies used to document software features in textual artefacts and then strategies used to link the feature documentation with source code. [Results] We observed feature documentation in all studied projects in artefacts such as READMEs, wikis, and website resource files. However, the features were often described in an unstructured way. Additionally, tracing techniques to connect feature documentation and source code were rarely used. [Conclusions] Our results suggest a lacking (or a low-prioritised) feature documentation in open-source projects, little use of normalised structures, and a rare explicit referencing to source code. As a result, product feature traceability is likely to be very limited, and maintainability to suffer over time.




Automated Detection of Typed Links in Issue Trackers

June 2022

·

29 Reads

Stakeholders in software projects use issue trackers like JIRA to capture and manage issues, including requirements and bugs. To ease issue navigation and structure project knowledge, stakeholders manually connect issues via links of certain types that reflect different dependencies, such as Epic-, Block-, Duplicate-, or Relate- links. Based on a large dataset of 15 JIRA repositories, we study how well state-of-the-art machine learning models can automatically detect common link types. We found that a pure BERT model trained on titles and descriptions of linked issues significantly outperforms other optimized deep learning models, achieving an encouraging average macro F1-score of 0.64 for detecting 9 popular link types across all repositories (weighted F1-score of 0.73). For the specific Subtask- and Epic- links, the model achieved top F1-scores of 0.89 and 0.97, respectively. Our model does not simply learn the textual similarity of the issues. In general, shorter issue text seems to improve the prediction accuracy with a strong negative correlation of -0.70. We found that Relate-links often get confused with the other links, which suggests that they are likely used as default links in unclear cases. We also observed significant differences across the repositories, depending on how they are used and by whom.


Citations (55)


... However, current UI retrieval methods are limited in their ability to capture the nuanced semantic elements essential for an effective, inspirational design process. Prior research [22,52] has focused on pixel-level retrieval methods, emphasizing visual similarities. While these approaches are effective for identifying surface-level design patterns, they often overlook in-depth semantic aspects such as user interaction flow, target audience, and the emotional tone of an application. ...

Reference:

Leveraging Multimodal LLM for Inspirational User Interface Search
GUing: A Mobile GUI Search Engine using a Vision-Language Model
  • Citing Article
  • November 2024

ACM Transactions on Software Engineering and Methodology

... Additionally, we believe the perception of GAI and ChatGPT in particular should be investigated further, to understand what motivates the students' behavior and impact their prompting skills [19]. In our study, we created an environment that was as close to the students' regular working environment as possible, to elicit their typical behavior. ...

Can Developers Prompt? A Controlled Experiment for Code Documentation Generation

... This approach, despite its inherent challenges, offers considerable advantages by leveraging the unique capabilities of both humans and AI technologies. A major issue, however, lies in achieving a unified understanding of the diverse research fields that apply the concept of collaboration, especially in pinpointing the specific attributes that characterize collaboration within each field: centered approach to collaboration by directly involving individuals in AI systems' decision-making processes [29,30,31]. • Interactive Machine Learning (IML): Highlights the importance of creating interactive communication channels between users and AI models, emphasizing user engagement throughout various stages of AI development [32]. ...

Design Patterns for Machine Learning Based Systems with Human-in-the-Loop
  • Citing Article
  • January 2023

IEEE Software

... This gets reflected in the diversity of feedback and submitting users. Demographic attributes like primary language, experience, culture, communication channels, and even personality traits [6] might have an impact on the feedback content and linguistic properties as recent research shows [25,20]. Therefore, whenever possible, such metadata about submitting users should be collected or extracted from the text. ...

Exploring the Relationship Between Personality Traits and User Feedback
  • Citing Conference Paper
  • September 2023

... This agent aims to foster collaborative interactions between engineers and users, enhancing their skills. While the potential of agents for SE tasks was recognized over a decade ago (e.g., ERC grant on testing [16]), the application of agents to RE remains largely unexplored [14,18,20]. Current research in this domain focuses on using LLMs to automate specific RE tasks [6,23], with limited attention to proactive RE agents that acts in collaboration with stakeholders. ...

From RSSE to BotSE: Potentials and Challenges Revisited after 15 Years
  • Citing Conference Paper
  • May 2023

... Similarly, researchers [31,32,36,42] also conducted semi-structured interviews for requirements elicitation. Additionally, there are studies [47][48][49]52] concentrated on requirements elicitation that prioritize stakeholders' perspectives and needs. ...

Tailoring Requirements Engineering for Responsible AI
  • Citing Article
  • April 2023

Computer

... Empirical research on software documentation quality is an active field that focuses on various artifacts, like API reference documentation [40] or README files [68], and the perspectives of documentation writers [1]. Studies on the evaluation of AI-generated documentation usually focus on automated metrics like BLEU, ROUGE, and METEOR [29], [64], [69]- [71]. ...

An Exploratory Study of Documentation Strategies for Product Features in Popular GitHub Projects

... For example, Nicholson and Guo [33] encoded both the textual data (title and description, using TF-IDF or fastText embeddings trained by Wikipedia, StackOverflow, or project-specific documents) and the metadata (issue type, reporter identifier and assignee identifier using one-hot encoding). Lüders et al. [20], on the other hand, chose to encode issues only using their title and description (through general BERT model 15 ) considering those are universal features across different issue trackers. Then, a pair of artifacts can be represented as a combination of the features of individual artifacts, with optionally other features on the relations of the two involved artifacts (such as differences in creation time between the two issues). ...

Automated Detection of Typed Links in Issue Trackers
  • Citing Conference Paper
  • August 2022

... into a query or an issue report, to derive an appropriate reaction strategy. A bot would also immediately engage with the user to collect missing details thus improving the feedback quality whenever needed [48,88]. In case of an inquiry, e.g., on how to perform a certain task with the app or how to configure the system for enabling or disabling certain features, the bot can try to answer directly or delegate to the support teams if not possible or not satisfactory. ...

A Chatbot for the Elicitation of Contextual Information from User Feedback
  • Citing Conference Paper
  • August 2022

... Moreover, having a skilled customer or a product owner write good user stories is often far from reality for many software projects. It is thus common to see teams just keeping track of the tasks to be implemented and issues to be resolved [17,18]. The convenience of focusing on recording development and maintenance tasks comes with the risk that the development tasks and the actual needs of the users may drift apart. ...

An alternative issue tracking dataset of public Jira repositories
  • Citing Conference Paper
  • October 2022