Privacy-preserving Taulbee Survey


The annual CRA Taulbee Survey of some two hundred computer science departments solicits various categories of information from its respondents, computes statistics on the collected information, and publishes the statistics for the benefit of the community. In the area of faculty salaries, CRA is facing a dilemma, on one hand wishing to solicit fuller information to improve the quality of the published statistics, while on the other hand contending with institutional qualms -- particularly at top-tier private institutions -- regarding the divulging of specific salaries, which are considered "sensitive" as a matter of policy.

The present Web application is a prototype for privacy-preserving collection of, and computation on, salary data for the Taulbee Survey. It assures respondents that no party will have access to the departmental attribution -- let alone the personal attribution -- of their submitted salary data beyond what may be deduced from the statistics to be published. This is hoped to encourage the uninhibited submission of full salary breakdowns needed for the high-quality statistics CRA would like to publish.

The application is written in Java. It provides a data management infrastructure that feeds, and then postprocesses results from, a Yao two-party secure-function-evaluation protocol that is implemented by the Fairplay (paper, code) runtime system. Specialized code is used to generate the Boolean circuits to be evaluated by Fairplay.


You will need: Additional Java libraries are included in the release.



The following directories will be used
After unpacking the files, copy the file ${dist.dir}/webSfe.war to ${tomcat.dir}/webapps/ and restart Tomcat.
% cd ${dist.dir}
% cp webSfe.war ${tomcat.dir}/webapps/
% ${tomcat.dir}/bin/
% cd ${tomcat.dir}/bin/
% start
Now the application will be running in http://localhost:8080/webSfe/MainServlet. Note that the application is intended to run over SSL, but that is a matter of server configuration that is beyond the scope of this document.


First check that the path to your tomcat installation is correct in build.xml. The variable tomcat.dir should point to your tomcat installation (e.g. /home/fsaint/web/jakarta-tomcat-5.0.19/). Compilation is done simply by running ant compile in the ${dist.dir} directory.
% ant compile
Buildfile: build.xml

[delete] Deleting directory /home/fsaint/eclipse/workspace/webSFE/build compile:
[mkdir] Created dir: /home/fsaint/eclipse/workspace/webSFE/build
[javac] Compiling 41 source files to /home/fsaint/eclipse/workspace/webSFE/build
[copy] Copying 1 file to /home/fsaint/eclipse/workspace/webSFE/build/websfe/properties

Total time: 4 seconds
This will recompile the source files and generate the distribution file, webSfe.war, which can then be copied into place as outlined above.

Please send Questions or Comments to felipe dot saint-jean at yale dot edu