Walid Maalej's research while affiliated with University of Hamburg and other places
What is this page?
This page lists the scientific contributions of an author, who either does not have a ResearchGate profile, or has not yet added these contributions to their profile.
It was automatically created by ResearchGate to create a record of this author's body of work. We create such pages to advance our goal of creating and maintaining the most comprehensive scientific repository possible. In doing so, we process publicly available (personal) data relating to the author as a member of the scientific community.
If you're a ResearchGate member, you can follow this page to keep up with this author's work.
If you are this author, and you don't want us to display this page anymore, please let us know.
It was automatically created by ResearchGate to create a record of this author's body of work. We create such pages to advance our goal of creating and maintaining the most comprehensive scientific repository possible. In doing so, we process publicly available (personal) data relating to the author as a member of the scientific community.
If you're a ResearchGate member, you can follow this page to keep up with this author's work.
If you are this author, and you don't want us to display this page anymore, please let us know.
Publications (144)
Stakeholders in software projects use issue trackers like JIRA or Bugzilla to capture and manage issues, including requirements, feature requests, 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-,...
Previous research has studied the impact of developer personality in different software engineering scenarios, such as team dynamics and programming education. However, little is known about how user personality affect software engineering, particularly user-developer collaboration. Along this line, we present a preliminary study about the effect o...
Previous works from research and industry have proposed a spatial representation of code in a canvas, arguing that a navigational code space confers developers the freedom to organise elements according to their understanding. By allowing developers to translate logical relatedness into spatial proximity, this code representation could aid in code...
Both recommender systems and bots should proactively and smartly answer the questions of software developers or other project stakeholders to assist them in performing their tasks more efficiently. This paper reflects on the achievements from the more mature area of Recommendation Systems in Software Engineering (RSSE) as well as the rising area of...
Recently reported issues concerning the acceptance of artificial intelligence (AI) solutions after deployment stress the importance of requirements engineering (RE) for designing and delivering responsible AI systems. In this article, we argue that RE should not only be carefully conducted but also tailored for responsible AI.
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 stud...
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 t...
[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, upda...
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 l...
Research has repeatedly shown that high-quality requirements are essential for the success of development projects. While the term “quality” is pervasive in the field of requirements engineering and while the body of research on requirements quality is large, there is no meta-study of the field that overviews and compares the concrete quality attri...
Software projects use Issue Tracking Systems (ITS) like JIRA to track issues and organize the workflows around them. Issues are often inter-connected via different links such as the default JIRA link types Duplicate, Relate, Block, or Subtask. While previous research has mostly focused on analyzing and predicting duplication links, this work aims a...
To maximize the accuracy and increase the overall acceptance of text classifiers, we propose a framework for the efficient, in-operation moderation of classifiers' output. Our framework focuses on use cases in which F1-scores of modern Neural Networks classifiers (ca.~90%) are still inapplicable in practice. We suggest a semi-automated approach tha...
Organisations use issue tracking systems (ITSs) to store their project documentation in unit-like pieces called "issues". This style of documentation encourages evolutionary refinement, as each issue can be independently: improved, commented on, linked to other issues, and progressed through the organisational workflow. Common ITSs studied include...
On social media platforms like Twitter, users regularly share their opinions and comments with software vendors and service providers. Popular software products might get thousands of user comments per day. Research has shown that such comments contain valuable information for stakeholders, such as feature ideas, problem reports, or support inquiri...
Preclinical patient care is both mentally and physically challenging and exhausting for emergency teams. The teams intensively use medical technology to help the patient on site. However, they must carry and handle multiple heavy medical devices such as a monitor for the patient's vital signs, a ventilator to support an unconscious patient, and a r...
A decade ago, the rise of GitHub and StackOverflow as social version control and knowledge sharing environments was about to start. Social media like Twitter were mocked by some software engineering researchers and practitioners as "tools for kids not professionals". At that time, we published one of the first papers [12] on social media in softwar...
Different disciplines have studied the content of online user comments in various contexts, using manual qualitative/quantitative or (semi-)automated approaches. The broad spectrum and disciplinary divides make it difficult to grasp an overview of those aspects which have already been examined, e.g. to identify findings related to one’s own researc...
App stores allow users to give valuable feedback on apps, and developers to find this feedback and use it for the software evolution. However, finding user feedback that matches existing bug reports in issue trackers is challenging as users and developers often use a different language. In this work, we introduce DeepMatcher, an automatic approach...
With the vast number of apps and the complexity of their features, it is becoming challenging for teachers to select a suitable learning app for their courses. Several evaluation frameworks have been proposed in the literature to assist teachers with this selection. The iPAC framework is a well-established mobile learning framework highlighting the...
Legacy software systems typically include vital data for organizations that use them and should thus to be regularly maintained. Ideally, organizations should rely on Requirements Engineers to understand and manage changes of stakeholder needs and system constraints. However, due to time and cost pressure, and with a heavy focus on implementation,...
App stores include an increasing amount of user feedback in form of app ratings and reviews. Research and recently also tool vendors have proposed analytics and data mining solutions to leverage this feedback to developers and analysts, e.g., for supporting release decisions. Research also showed that positive feedback improves apps' downloads and...
Managing software projects gets more and more complicated with an increasing project and product size. To cope with this complexity, many organizations use issue tracking systems, where tasks, bugs, and requirements are stored as issues. Unfortunately, managing software projects might remain chaotic even when using issue trackers. Particularly for...
With the rise of social media like Twitter and distribution platforms like app stores, users have various ways to express their opinions about software products. Popular software vendors get user feedback thousandfold per day. Research has shown that such feedback contains valuable information for software development teams. However, a manual analy...
With the rise of social media like Twitter and of software distribution platforms like app stores, users got various ways to express their opinion about software products. Popular software vendors get user feedback thousandfold per day. Research has shown that such feedback contains valuable information for software development teams such as proble...
Using API reference documentation like JavaDoc is an integral part of software development. Previous research introduced a grounded taxonomy that organizes API documentation knowledge in 12 types, including knowledge about the Functionality, Structure, and Quality of an API. We study how well modern text classification approaches can automatically...
While many apps include built-in options to report bugs or request features, users still provide an increasing amount of feedback via social media, like Twitter. Compared to traditional issue trackers, the reporting process in social media is unstructured and the feedback often lacks basic context information, such as the app version or the device...
Using API reference documentation like JavaDoc is an integral part of software development. Previous research introduced a grounded taxonomy that organizes API documentation knowledge in 12 types, including knowledge about the Functionality, Structure, and Quality of an API. We study how well modern text classification approaches can automatically...
App stores are highly competitive markets, sometimes offering dozens of apps for a single use case. Unexpected app changes such as a feature removal might incite even loyal users to explore alternative apps. Sentiment analysis tools can help monitor users’ emotions expressed, e.g., in app reviews or tweets. We found that these emotions include four...
App stores are highly competitive markets, sometimes offering dozens of apps for a single use case. Unexpected app changes such as a feature removal might incite even loyal users to explore alternative apps. Sentiment analysis tools can help monitor users' emotions expressed, e.g., in app reviews or tweets. We found that these emotions include four...
Different disciplines have studied online user comments in various contexts, using either qualitative, quantitative, or (semi-)automated content analysis. The broad spectrum and disciplinary divides make it difficult to grasp an overview of the aspects which have already been examined, e.g. to identify findings related to one’s own research, recomm...
As researchers and teachers and practitioners, we “software types” excel at multitasking. This, in part, led us to ask the question: Can one attend a software engineering conference and do something good for society? We found the answer to be a resounding yes. In this article, we present our first experience of running RE Cares, a conference colloc...
Background: Requirement engineering is often considered a critical activity in system development projects. The increasing complexity of software as well as number and heterogeneity of stakeholders motivate the development of methods and tools for improving large-scale requirement engineering. Aims: The empirical study presented in this paper aim t...
User comments have become an essential part of online journalism. However, newsrooms are often overwhelmed by the vast number of diverse comments, for which a manual analysis is barely feasible. Identifying meta-comments that address or mention newsrooms, individual journalists, or moderators and that may call for reactions is particularly critical...
Ontology integration addresses the problem of reconciling into one single semantic framework different knowledge chunks defined according to its own ontology. This field has been subject of analysis and many consolidated theoretical results are available. Still, in practice, ontology integration is difficult in heterogeneous information systems (HI...
Rationale refers to the reasoning and justification behind human decisions, opinions, and beliefs. In software engineering, rationale management focuses on capturing design and requirements decisions and on organizing and reusing project knowledge. This paper takes a different view on rationale written by users in online reviews. We studied 32,414...
Background: Requirement engineering is often considered a critical activity in system development projects. The increasing complexity of software, as well as number and heterogeneity of stakeholders, motivate the development of methods and tools for improving large-scale requirement engineering. Aims: The empirical study presented in this paper aim...
Successful open source communities are constantly looking for members and helping them to become active developers. One common approach for developer onboarding in open source projects is to let newcomers focus on relevant but easy-to-solve issues, which enables them to familiarize themselves with the code and the community. The first goal of this...
Millennials prefer learning-by-doing and social learning, and project-based learning. At the same time, software engineering educators should take into account that software development projects require not only technical skills but also creativity---Design Thinking can help in achieving the latter. We conducted a workshop, following the Design Thi...
Online portals include an increasing amount of user feedback in form of ratings and reviews. Recent research highlighted the importance of this feedback and confirmed that positive feedback improves product sales figures and thus its success. Online portals' operators act as central authorities throughout the overall review process. In the worst ca...
Due to their characteristics, millennials prefer learning-by-doing and social learning, such as project-based learning. However, software development projects require not only technical skills but also creativity; Design Thinking can serve such purpose. We conducted a workshop following the Design Thinking approach of the d.school, to help students...
Online portals include an increasing amount of user feedback in form of ratings and reviews. Recent research highlighted the importance of this feedback and confirmed that positive feedback improves product sales figures and thus its success. However, online portals' operators act as central authorities throughout the overall review process. In the...
A software development screencast is a video that captures the screen of a developer working on a particular task while explaining its implementation details. Due to the increased popularity of software development screencasts (e.g., available on YouTube), we study how and to what extent they can be used as additional source of knowledge to answer...
Newsrooms are still searching for ways to manage user comments because of both a desire for professional distance from their audiences and a lack of analytical tools. This paper presents findings from our exploratory, interdisciplinary study in journalism research and computer science that focuses on the algorithmic classification and clustering of...
Surveys are nowadays used for a variety of physical and digital services to collect feedback from users. They are often difficult to fill in and might have only a limited value since users’ context is often either missing or tedious to be entered manually. Research has shown that simplifying the forms and enriching them with contextual information...
Developers’ tasks are often interrelated. A task might succeed, precede, block, or depend on another task. Or, two tasks might simply have a similar aim or require similar expertise. When working on tasks, developers interact with artifacts and tools, which constitute the contexts of the tasks. This work investigates the extent to which the similar...
App stores like Google Play and Apple AppStore have over 3 million apps covering nearly every kind of software and service. Billions of users regularly download, use, and review these apps. Recent studies have shown that reviews written by the users represent a rich source of information for the app vendors and the developers, as they include infor...
Nowadays, mobile apps are used for nearly every situation: for planning the day, communicating with colleagues, ordering goods, or entertaining and socializing. To understand users expectations in each situation and to provide context-aware services, researchers and app vendors started to capture users' interaction with the smartphone and to model...
Communication barriers in Requirements Engineering (RE) are various, including different levels of experience, different backgrounds, cultures, and personalities of stakeholders. Such barriers can lead to communication gaps and project failures. This paper introduces the Smart RE framework, an approach to reduce communication gaps in RE by using th...
The increasing number of smartphone users stresses the need for an improved protection of users' personal data, such as health information, personal identifiers and financial data. One trend to address this need is the adoption of biometric authentication techniques such as fingerprint and iris recognition. We report on a study that examines user r...
A large part of Requirements Engineering is concerned with involving system users, capturing their needs, and
getting their feedback. As users are becoming more and more demanding, markets and technologies are evolving fast, and systems are getting more and more individual, a broad and systematic user involvement in Requirements Engineering is beco...
Developers work on parallel tasks and switch between them due to interruptions and dependencies. For each task, developers interact with artifacts that constitute the task context. The more dissimilar tasks are, the more time is needed for switches to restore the contexts and adjust the mindset. Organizing tasks by their similarity can increase the...
Nowadays mobile phones and smartphones are common not only in mega cities in developed countries but also in rural areas in emerging and developing countries. Technological progress will enable more and more people from different socio-cultural backgrounds and with different needs to use software services with up-to-date technical devices. End user...
Nowadays, users can easily submit feedback about software products in app stores, social media, or user groups. Moreover, software vendors are collecting massive amounts of implicit feedback in the form of usage data, error logs, and sensor data. These trends suggest a shift toward data-driven user-centered identification, prioritization, and manag...
App stores allow users to submit feedback for downloaded apps in form of star ratings and text reviews. Recent studies analyzed this feedback and found that it includes information useful for app developers, such as user requirements, ideas for improvements, user sentiments about specific features, and descriptions of experiences with these feature...
Research in program comprehension has evolved considerably over the past decades. However, only little is known about how developers practice program comprehension in their daily work. This article reports on qualitative and quantitative research to comprehend the strategies, tools, and knowledge used for program comprehension. We observed 28 profe...
Working with requirements is a knowledge-intensive task. Stakeholders need various information, e.g., for understanding or negotiating the requirements. To understand the information needs of stakeholders we conducted two case studies and interviewed 6 stakeholders. We identified 26 unique information
needs, which we represented as questions asked...
The proliferation of mobile devices and apps together with the increasing public interest in privacy and data protection matters necessitate a more careful precaution for legal compliance. As apps are becoming more popular, app developers can expect an increased scrutiny of privacy practices in the future. In this paper, we focus on the problem of...
We report on an exploratory study, which aims at understanding how development tutorials are structured, what types of tutorials exist, and how official tutorials differ from tutorials written by development communities. We analyzed over 1.200 tutorials for mobile application development provided by six different sources for the three major platfor...
Data privacy when using online systems like Facebook and Amazon has become an increasingly popular topic in the last few years. However, only a little is known about how users and developers perceive privacy and which concrete measures would mitigate their privacy concerns. To investigate privacy requirements, we conducted an online survey with clo...
Traditional recommendation systems in software engineering (RSSE) analyze artifacts stored in large repositories to create relevant recommendations. More recently, researchers have started exploring interaction data as a new source of information—moving closer to the creation and usage of the artifacts rather than just looking at the outcome. In so...
The last decade was characterized by a boom in the quantity and quality of the web sites - something that has been summarized with the buzzword "Web 2.0". This immense growth was possible through the massive participation of users, who were able to easily create, share, and interact with content of any kind. But when looking at software, there are...
With the growth of public and private data stores and the emergence of off-the-shelf data-mining technology, recommendation systems have emerged that specifically address the unique challenges of navigating and interpreting software engineering data.
This book collects, structures, and formalizes knowledge on recommendation systems in software engi...
Reading reference documentation is an important part of programming with application programming interfaces (APIs). Reference documentation complements the API by providing information not obvious from the API syntax. To improve the quality of reference documentation and the efficiency with which the relevant information it contains can be accessed...
Application distribution platforms - or app stores - such as Google Play or Apple AppStore allow users to submit
feedback in form of ratings and reviews to downloaded applications. In the last few years, these platforms have become very popular to both application developers and users. However, their real potential for and impact on requirements en...
Citations
... Responsible AI is the concept of developing and deploying AI systems that are ethical, transparent, fair, and trustworthy. It involves considering the potential impact of AI on individuals and society as a whole and taking steps to ensure that AI systems are developed and used responsibly [21]- [23]. AI systems should be transparent and explainable to ensure that users and stakeholders can make informed decisions about their use. ...
... Our work aims at paving the way for link (type) recommenders, that support stakeholders in issue linking and issue management in general. This paper extends our work published at RE22 [24] by adding an in-depth analysis of linking practices, repository structures, and inconsistencies in issue linking to further understand the intricacies of linking in practice. We extend our machine learning experiments by evaluating four prediction strategies. ...
Reference: On understanding and predicting issue links
... Popular ITS in practice are Bugzilla, 1 GitHub Issues, 2 and JIRA, 3 with common features like issue creation and tracking, communication around issues, release planning, issue triaging, and issue dependency management. As a central entity, issues have many properties, including their type [1] (e.g., requirement, user story, feature request, or bug report), priority (e.g., low, high, critical), and assignee. ITS and issue management, in general, have been the focus of software engineering and requirements engineering research for over a decade, with promising automation approaches, for instance, on issue type prediction (and correction) [2][3][4][5][6], priority (and escalation) prediction [7][8][9][10], or triaging and assignment [11,12]. ...
Reference: On understanding and predicting issue links
... On the other hand, the teacher model inevitably generates some noisy labels that cause error accumulation (Wang et al. 2021a). Some sample selection strategies (e.g., model confidence, uncertainty estimation) and consistency regularization mitigate the effect of noisy labels and alleviate the problem of confirmation bias (Do, Tran, and Venkatesh 2021;Cao et al. 2021;Rizve et al. 2021;Wang et al. 2021b;Andersen and Maalej 2022). However, it is unclear how these methods can be applied to token-level classification. ...
... Recent work on quality analysis of requirements specifications has dealt with coreference detection [60], anaphoric ambiguity [61], the use of domain-specific corpora [62], and the use of open domain models [63], among other issues and support possibilities. Montgomery et al. [64] reviewed empirical research on requirements quality and concluded that ambiguity, completeness, consistency, and correctness are the quality characteristics most often addressed. ...
... However, these accidental software architectures (Booch, 2006) are underpinned by sub-optimal design decisions that exacerbate complexity, which are the foundation for software decay and death in all software investment (Martin, 2017). As a result, sustainability has emerged as a growing area of interest in the field of software engineering, requirements engineering, and software architecture with a growing body of research, which focuses both on the software system itself and how software systems can be utilised to address sustainability (Alharthi et al., 2018;Condori-Fernández et al., 2018;Mourão et al., 2018;Oyedeji et al., 2018;Seyff et al., 2018;Duboc et al., 2019;Lago et al., 2020;Pham et al., 2020;Andrikopoulos and Lago, 2021;Gupta et al., 2021;Pham et al., 2021;Bischoff et al., 2022;Fatima and Lago, 2023;Funke et al., 2023;McGuire et al., 2023). Its importance as a topic has been further underlined by ongoing initiatives from the US National Science Foundation (NSF, 2022) and the UK Engineering and Physical Sciences Research Council (EPSRC, 2020(EPSRC, , 2021 to help develop research software as a sustainable, first-class, experimental scientific instrument (Goble, 2014). ...