2,795 research outputs found
Fairness Testing: Testing Software for Discrimination
This paper defines software fairness and discrimination and develops a
testing-based method for measuring if and how much software discriminates,
focusing on causality in discriminatory behavior. Evidence of software
discrimination has been found in modern software systems that recommend
criminal sentences, grant access to financial products, and determine who is
allowed to participate in promotions. Our approach, Themis, generates efficient
test suites to measure discrimination. Given a schema describing valid system
inputs, Themis generates discrimination tests automatically and does not
require an oracle. We evaluate Themis on 20 software systems, 12 of which come
from prior work with explicit focus on avoiding discrimination. We find that
(1) Themis is effective at discovering software discrimination, (2)
state-of-the-art techniques for removing discrimination from algorithms fail in
many situations, at times discriminating against as much as 98% of an input
subdomain, (3) Themis optimizations are effective at producing efficient test
suites for measuring discrimination, and (4) Themis is more efficient on
systems that exhibit more discrimination. We thus demonstrate that fairness
testing is a critical aspect of the software development cycle in domains with
possible discrimination and provide initial tools for measuring software
discrimination.Comment: Sainyam Galhotra, Yuriy Brun, and Alexandra Meliou. 2017. Fairness
Testing: Testing Software for Discrimination. In Proceedings of 2017 11th
Joint Meeting of the European Software Engineering Conference and the ACM
SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE),
Paderborn, Germany, September 4-8, 2017 (ESEC/FSE'17).
https://doi.org/10.1145/3106237.3106277, ESEC/FSE, 201
Causality in concurrent systems
Concurrent systems identify systems, either software, hardware or even
biological systems, that are characterized by sets of independent actions that
can be executed in any order or simultaneously. Computer scientists resort to a
causal terminology to describe and analyse the relations between the actions in
these systems. However, a thorough discussion about the meaning of causality in
such a context has not been developed yet. This paper aims to fill the gap.
First, the paper analyses the notion of causation in concurrent systems and
attempts to build bridges with the existing philosophical literature,
highlighting similarities and divergences between them. Second, the paper
analyses the use of counterfactual reasoning in ex-post analysis in concurrent
systems (i.e. execution trace analysis).Comment: This is an interdisciplinary paper. It addresses a class of causal
models developed in computer science from an epistemic perspective, namely in
terms of philosophy of causalit
PETRA: Process Evolution using a TRAce-based system on a maintenance platform
To meet increasing needs in the field of maintenance, we studied the dynamic aspect of process and services on a maintenance platform, a major challenge in process mining and knowledge engineering. Hence, we propose a dynamic experience feedback approach to exploit maintenance process behaviors in real execution of the maintenance platform. An active learning process exploiting event log is introduced by taking into account the dynamic aspect of knowledge using trace engineering. Our proposal makes explicit the underlying knowledge of platform users by means of a trace-based system called âPETRAâ. The goal of this system is to extract new knowledge rules about transitions and activities in maintenance processes from previous platform executions as well as its user (i.e. maintenance operators) interactions. While following a Knowledge Traces Discovery process and handling the maintenance ontology IMAMO, âPETRAâ is composed of three main subsystems: tracking, learning and knowledge capitalization. The capitalized rules are shared in the platform knowledge base in order to be reused in future process executions. The feasibility of this method is proven through concrete use cases involving four maintenance processes and their simulation
Mining declarative models using time intervals
A common problem in process mining is the interpretation of the time stamp of events, e.g., whether it represents the moment of recording, or its occurrence. Often, this interpretation is left implicit. In this paper, we make this interpretation explicit using time intervals: an event occurs somewhere during a time window. The time window may be fine, e.g., a single point in time, or coarse, like a day. As each event is related to an activity within some process, we obtain for each activity a set of intervals in which the activity occurred. Based on these sets of intervals, we define ordering and simultaneousness relations. These relations form the basis of the discovery of a declarative process model describing the behavior in the event log
A Protocol for the Atomic Capture of Multiple Molecules at Large Scale
With the rise of service-oriented computing, applications are more and more
based on coordination of autonomous services. Envisioned over largely
distributed and highly dynamic platforms, expressing this coordination calls
for alternative programming models. The chemical programming paradigm, which
models applications as chemical solutions where molecules representing digital
entities involved in the computation, react together to produce a result, has
been recently shown to provide the needed abstractions for autonomic
coordination of services. However, the execution of such programs over large
scale platforms raises several problems hindering this paradigm to be actually
leveraged. Among them, the atomic capture of molecules participating in concur-
rent reactions is one of the most significant. In this paper, we propose a
protocol for the atomic capture of these molecules distributed and evolving
over a large scale platform. As the density of possible reactions is crucial
for the liveness and efficiency of such a capture, the protocol proposed is
made up of two sub-protocols, each of them aimed at addressing different levels
of densities of potential reactions in the solution. While the decision to
choose one or the other is local to each node participating in a program's
execution, a global coherent behaviour is obtained. Proof of liveness, as well
as intensive simulation results showing the efficiency and limited overhead of
the protocol are given.Comment: 13th International Conference on Distributed Computing and Networking
(2012
BugDoc: Algorithms to Debug Computational Processes
Data analysis for scientific experiments and enterprises, large-scale
simulations, and machine learning tasks all entail the use of complex
computational pipelines to reach quantitative and qualitative conclusions. If
some of the activities in a pipeline produce erroneous outputs, the pipeline
may fail to execute or produce incorrect results. Inferring the root cause(s)
of such failures is challenging, usually requiring time and much human thought,
while still being error-prone. We propose a new approach that makes use of
iteration and provenance to automatically infer the root causes and derive
succinct explanations of failures. Through a detailed experimental evaluation,
we assess the cost, precision, and recall of our approach compared to the state
of the art. Our experimental data and processing software is available for use,
reproducibility, and enhancement.Comment: To appear in SIGMOD 2020. arXiv admin note: text overlap with
arXiv:2002.0464
Recommended from our members
Discovering Models of Software Processes from Event-Based Data ; CU-CS-819-96
Many software process methods and tools presuppose the existence of a formal model of a process. Unfortunately, developing a formal model for an on-going, complex process can be dicult, costly, and error prone. This presents a practical barrier to the adoption of process technologies, which would be lowered by automated assistance in creating formal models. To this end, we have developed a data analysis technique that we term process discovery. Under this technique, data describing process events are rst captured from an on-going process and then used to generate a formal model of the behavior of that process. In this paper we describe a Markov method that we developed specically for process discovery, as well as describe two additional methods that we adopted from other domains and augmented for our purposes. The three methods range from the purely algorithmic to the purely statistical. We compare the methods and discuss their application in an industrial case study
- âŠ