This dataset collected from Stack Overflow (SO) and GitHub was used to conduct an empirical study on architecture decisions in AI-based systems development. We provide below a brief description of each file: 1. Dataset (SO).xlsx contains the IDs and URLs of the labelled posts which are related to architecture decisions in AI-based systems development from SO, and the data extracted from these related SO posts. 2. Dataset (GitHub).xlsx contains the project names, issue IDs, and issue URLs of AI-based projects selected from GitHub, and the data extracted from the relevant issues. 3. Extracted Data (SO+GitHub).xlsx provides the final results of data extracted from SO posts and GitHub issues.
The justification for software architectural design decisions made throughout the architecting process is necessary for understanding, (re)using, communicating, and modifying an architecture design. Although there are many existing tools to capture, store, manage, and share the architectural design decisions explicitly, there still remains a need to visualize and explore architectural design decisions and their underlying rationale. This paper investigates how Compendium tool can be employed to visualize architectural design decisions and their rationale, in order to improve the understandability and promote the communication of architectural design decisions.
Given the ubiquity of mobile apps in daily lives, understanding and reflecting end-users’ human values (e.g., transparency, privacy) in apps has become increasingly important. Violations of end users’ values by software applications have resulted in a wide range of difficulties for end users. Value violations may bring more and lasting problems for marginalized groups of end-users. This research aims to understand the extent to which Bangladeshi female farmers' values, marginalized and vulnerable end-users, who are less studied by the software engineering community, are reflected in agriculture apps in Bangladesh. Further to this, we aim to identify possible strategies to embed their values in those apps. To this end, we conducted a mixed-methods empirical study consisting of 13 interviews with app practitioners and focus groups with 20 Bangladeshi female farmers. The accumulated results from the interviews and focus groups identified 22 values of Bangladeshi female farmers, which the participants expect to be reflected in the agriculture apps. Among these 22 values, 15 values (e.g., accuracy) are already reflected and 7 values (e.g., accessibility) are ignored/violated in the existing agriculture apps. We also identified 14 strategies (e.g., “applying human-centered approaches to elicit values”) to address Bangladeshi female farmers’ values in agriculture apps.
Ubiquitous technologies such as mobile software applications (mobile apps) have a tremendous influence on the evolution of the social, cultural, economic, and political facets of life in society. Mobile apps fulfil many practical purposes for users including entertainment, transportation, financial management, etc. Given the ubiquity of mobile apps in the lives of individuals and the consequent effect of these technologies on society, it is essential to consider the relationship between human values and the development and deployment of mobile apps. The many negative consequences of violating human values such as privacy, fairness or social justice by technology have been documented in recent times. If we can detect these violations in a timely manner, developers can look to better address them. To understand the violation of human values in a range of common mobile apps, we analysed 22,119 app reviews from Google Play Store using natural language processing techniques. We base our values violation detection approach on a widely accepted model of human values; the Schwartz theory of basic human values. The results of our analysis show that 26.5% of the reviews contained text indicating user perceived violations of human values. We found that benevolence and self-direction were the most violated value categories, and conformity and tradition were the least violated categories. Our results also highlight the need for a proactive approach to the alignment of values amongst stakeholders and the use of app reviews as a valuable additional source for mining values requirements.
Many software systems fail to meet the needs of the diverse endusers in society and are prone to pose problems, such as accessibility and usability issues. Some of these problems (partially) stem from the failure to consider the characteristics, limitations, and abilities of diverse end-users during software development. We refer to this class of problems as human-centric issues. Despite their importance, there is a limited understanding of the types of human-centric issues encountered by developers. In-depth knowledge of these human-centric issues is needed to design software systems that better meet their diverse end-users' needs. This paper aims to provide insights for the software development and research communities on which human-centric issues are a topic of discussion for developers on GitHub. We conducted an empirical study by extracting and manually analysing 1,691 issue comments from 12 diverse projects, ranging from small to large-scale projects, including projects designed for challenged end-users, e.g., visually impaired and dyslexic users. Our analysis shows that eight categories of human-centric issues are discussed by developers. These include Inclusiveness, Privacy & Security, Compatibility, Location & Language, Preference, Satisfaction, Emotional Aspects, and Accessibility. Guided by our findings, we highlight some implications and possible future paths to further understand and incorporate human-centric issues in software development to be able to design software that meets the needs of diverse end users in society. Many software systems fail to take into account diverse end user differences, such as age, gender, culture, language, physical and mental challenges, emotions, personality, and so on. This means for many users the software is difficult if not impossible to use, unengaging, disrespectful, increases the digital divide, excludes many - often vulnerable - members of society, and may even be unsafe or dangerous. GitHub is a very popular software platform used by software developers. We looked at several diverse online software projects and the discussions developers have about what we call these "human-centric issues" in software. We learned that some issues are quite often discussed, however, many diverse end user characteristics are not well understood and many not often discussed by developers, suggesting they are not sufficiently well thought about during software development. We make some rec-ommendations for software engineers to help them better consider and take account of many of their software user differences during development. This includes taking into account these important issues; for some projects some end user differences are more important than others depending on the target users; users need better ways of reporting human-centric defects and developers need better ways of addressing human-centric issues for software; and devel-oper training to consider a variety of human-centric issues needs improving.