Set of scrips (roughly hacked together) to generate a list of candidates for a PC.
The logic for generating the lists (prio1 - prio4) can be found and
modified in builder/generateKeywords.py::make_prospective (L164).
We describe the conditions relative to POPL2026 PC. We start with all authors who have not served in the last two POPL PCs (POPL 2025 and POPL2024) and have at least two papers in PLDI, ICFP, POPL and OOPSLA in the last 5 years.
-
prio1: Served in POPL21, POPL22 or POPL23 PCs and not in PLDI25, ICFP25 or OOPSLA25 PCs
-
prio2: Served in PLDI25, ICFP25 or OOPSLA25 PC
-
prio3: At least one paper in POPL21, POPL22, POPL23, POPL24 or POPL25 and served in at least one conference PC in the last 5 years
-
prio4: At least one paper in POPL21, POPL22, POPL23, POPL24 or POPL25
First get the requirements:
pip install -r requirements.txt
Step 1: Build the committee database i.e. all PC-members from past POPL, PLDI, OOPSLA and ICFP
python3 main.py build_committee_db
The above step has been completed for the following conferences producing
the file data/committee.json:
POPL26-16, PLDI26-21, OOPSLA26-21, ICFP25-20
Step 2: Build the author database i.e. all authors from past POPL, PLDI, OOPSLA and ICFP.
python3 main.py build_author_db
The above step has been completed with the following proceedings pages,
finding 3489 authors output in data/authors.json:
proceedingsURLs = {
"OOPSLA25":"https://2025.splashcon.org/track/OOPSLA?#event-overview",
"PACMPL25":"https://dblp.org/search/publ/api?q=toc%3Adb/journals/pacmpl/pacmpl9.bht%3A&h=1000&format=json",
"PACMPL24":"https://dblp.org/search/publ/api?q=toc%3Adb/journals/pacmpl/pacmpl8.bht%3A&h=1000&format=json",
"PACMPL23":"https://dblp.org/search/publ/api?q=toc%3Adb/journals/pacmpl/pacmpl7.bht%3A&h=1000&format=json",
"PACMPL22":"https://dblp.org/search/publ/api?q=toc%3Adb/journals/pacmpl/pacmpl6.bht%3A&h=1000&format=json",
"PACMPL21":"https://dblp.org/search/publ/api?q=toc%3Adb/journals/pacmpl/pacmpl5.bht%3A&h=1000&format=json",
"PACMPL20":"https://dblp.org/search/publ/api?q=toc%3Adb/journals/pacmpl/pacmpl4.bht%3A&h=1000&format=json",
"PLDI22":"https://dblp.org/search/publ/api?q=toc%3Adb/conf/pldi/pldi2022.bht%3A&h=1000&format=json",
"PLDI21":"https://dblp.org/search/publ/api?q=toc%3Adb/conf/pldi/pldi2021.bht%3A&h=1000&format=json",
"PLDI20":"https://dblp.org/search/publ/api?q=toc%3Adb/conf/pldi/pldi2020.bht%3A&h=1000&format=json",
}
Step 3: Generate the CCS keywords for the authors using the following command:
python3 main.py generate_ccs_keywords
This will generate data/authors_ccs_keywords.json. It will open a browser
window to load up the ACM webpage and extract / save the information. Make
sure you have Firefox available on the command line.
Step 4: Generate prio1-prio4.csv files with the potential PC members using
the following command. The logic can be found and modified in
builder/generateKeywords::make_prospective (L164).
python3 main.py make_prospective