{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/pots-protective-optimization-technologies","title":"POTs: Protective Optimization Technologies","arxiv_id":"1806.02711","date":"2018-06-07","proceeding":null,"authors":["Bogdan Kulynych","Rebekah Overdorf","Carmela Troncoso","Seda Gürses"],"abstract":"Algorithmic fairness aims to address the economic, moral, social, and political impact that digital systems have on populations through solutions that can be applied by service providers. Fairness frameworks do so, in part, by mapping these problems to a narrow definition and assuming the service providers can be trusted to deploy countermeasures. Not surprisingly, these decisions limit fairness frameworks' ability to capture a variety of harms caused by systems. We characterize fairness limitations using concepts from requirements engineering and from social sciences. We show that the focus on algorithms' inputs and outputs misses harms that arise from systems interacting with the world; that the focus on bias and discrimination omits broader harms on populations and their environments; and that relying on service providers excludes scenarios where they are not cooperative or intentionally adversarial. We propose Protective Optimization Technologies (POTs). POTs provide means for affected parties to address the negative impacts of systems in the environment, expanding avenues for political contestation. POTs intervene from outside the system, do not require service providers to cooperate, and can serve to correct, shift, or expose harms that systems impose on populations and their environments. We illustrate the potential and limitations of POTs in two case studies: countering road congestion caused by traffic-beating applications, and recalibrating credit scoring for loan applicants.","url_abs":"https://arxiv.org/abs/1806.02711v6","url_pdf":"https://arxiv.org/pdf/1806.02711v6.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"pots-protective-optimization-technologies","repo_url":"https://github.com/spring-epfl/pots","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"decision-making","task_name":"Decision Making"},{"task_slug":"fairness","task_name":"Fairness"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1806.02711","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1806.02711"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/spring-epfl/pots","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":10},"by_repo_kind":{"official":{"samples":10,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"cc79a25fe78db22e","entry":"dot","repo":"spring-epfl/pots","repo_kind":"official","path":"src/traffic_planner.py","file_url":"https://github.com/spring-epfl/pots/blob/HEAD/src/traffic_planner.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cc79a25fe78db22e"}},{"code_sha256_prefix":"435805f423d85761","entry":"fast_hash","repo":"spring-epfl/pots","repo_kind":"official","path":"src/hash.py","file_url":"https://github.com/spring-epfl/pots/blob/HEAD/src/hash.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"435805f423d85761"}},{"code_sha256_prefix":"2b8a1f7ce8a7cead","entry":"get_speed_delta","repo":"spring-epfl/pots","repo_kind":"official","path":"src/traffic_planner.py","file_url":"https://github.com/spring-epfl/pots/blob/HEAD/src/traffic_planner.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2b8a1f7ce8a7cead"}},{"code_sha256_prefix":"e3313e8c8c1ea3ed","entry":"get_time_delta","repo":"spring-epfl/pots","repo_kind":"official","path":"src/traffic_planner.py","file_url":"https://github.com/spring-epfl/pots/blob/HEAD/src/traffic_planner.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e3313e8c8c1ea3ed"}},{"code_sha256_prefix":"5244c6ec734c3f5a","entry":"influence_func","repo":"spring-epfl/pots","repo_kind":"official","path":"src/influence.py","file_url":"https://github.com/spring-epfl/pots/blob/HEAD/src/influence.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5244c6ec734c3f5a"}},{"code_sha256_prefix":"e95a58ffed33fbcd","entry":"load_dataframes","repo":"spring-epfl/pots","repo_kind":"official","path":"src/credit_utils.py","file_url":"https://github.com/spring-epfl/pots/blob/HEAD/src/credit_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e95a58ffed33fbcd"}},{"code_sha256_prefix":"500a0a31b7b7bac6","entry":"lr_grad","repo":"spring-epfl/pots","repo_kind":"official","path":"src/influence.py","file_url":"https://github.com/spring-epfl/pots/blob/HEAD/src/influence.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"500a0a31b7b7bac6"}},{"code_sha256_prefix":"247c306579b69cef","entry":"lr_hessian","repo":"spring-epfl/pots","repo_kind":"official","path":"src/influence.py","file_url":"https://github.com/spring-epfl/pots/blob/HEAD/src/influence.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"247c306579b69cef"}},{"code_sha256_prefix":"3720f86f5c68eb14","entry":"to_numpy_data","repo":"spring-epfl/pots","repo_kind":"official","path":"src/credit_utils.py","file_url":"https://github.com/spring-epfl/pots/blob/HEAD/src/credit_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3720f86f5c68eb14"}},{"code_sha256_prefix":"bdab70950ace48ad","entry":"train_model","repo":"spring-epfl/pots","repo_kind":"official","path":"src/credit_utils.py","file_url":"https://github.com/spring-epfl/pots/blob/HEAD/src/credit_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bdab70950ace48ad"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}