The quality of software is becoming vital as it becomes more pervasive in human’s daily operations. Today’s software is employed differently than in the past because of automation, machine learning advancements, and the availability of copious quantities of data, all of which allow the program to make more independent judgments. The concept of fairness in software engineering refers to the different approaches used to address the problem of bias to ensure zero discrimination while using the software in question. Testing in software engineering that specifically examines a system’s fairness is known as “fairness testing”. It can also be defined as the process of revealing imperfections that can lead to some friction between the needed and existing fairness conditions, in a software system. As part of this process, it is common practice to test for bias based on demographics like color and gender to make sure the system is not prejudiced in any way. In the construction of any system that might have significant consequences for people’s lives, testing for fairness is a crucial stage that can assist guarantee the system is fair and impartial in its decision-making. Unfortunately, throughout the software development life cycle, fairness is not prioritized or even considered. There have been many instances of unfair software appearing. Using algorithms, Amazon.com, Inc. decided in 2016 which areas of the United States would get free same-day delivery. At times when every other community around it was participating, the algorithms decided against include minority areas. The same kind of software is now being utilized to assign suspects with risk assessment ratings. At each level of the criminal justice process, from determining guilt to setting bond amounts to sentence, these scores are used to guide judgments about who may be released free. This paper looks into some of the important methodologies that can be used for fairness testing in software engineering, and come up with a survey on fairness while using software systems.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Fairness Testing: Review of the Relevance and Methodologies of Ensuring Software Fairness

  • Ilmaan Zia,
  • Ankit Raj,
  • Jonathan Dabu

摘要

The quality of software is becoming vital as it becomes more pervasive in human’s daily operations. Today’s software is employed differently than in the past because of automation, machine learning advancements, and the availability of copious quantities of data, all of which allow the program to make more independent judgments. The concept of fairness in software engineering refers to the different approaches used to address the problem of bias to ensure zero discrimination while using the software in question. Testing in software engineering that specifically examines a system’s fairness is known as “fairness testing”. It can also be defined as the process of revealing imperfections that can lead to some friction between the needed and existing fairness conditions, in a software system. As part of this process, it is common practice to test for bias based on demographics like color and gender to make sure the system is not prejudiced in any way. In the construction of any system that might have significant consequences for people’s lives, testing for fairness is a crucial stage that can assist guarantee the system is fair and impartial in its decision-making. Unfortunately, throughout the software development life cycle, fairness is not prioritized or even considered. There have been many instances of unfair software appearing. Using algorithms, Amazon.com, Inc. decided in 2016 which areas of the United States would get free same-day delivery. At times when every other community around it was participating, the algorithms decided against include minority areas. The same kind of software is now being utilized to assign suspects with risk assessment ratings. At each level of the criminal justice process, from determining guilt to setting bond amounts to sentence, these scores are used to guide judgments about who may be released free. This paper looks into some of the important methodologies that can be used for fairness testing in software engineering, and come up with a survey on fairness while using software systems.