• June 26–30 2016:
    HCIC 2016 Workshop, Watsonville, CA
  • March 27 2015:
    Job talk at FXPAL, Palo Alto, CA
  • Dec. 11–29 2014:
    Invited talk at National Tsing Hua University, Hsinchu, Taiwan
  • Nov. 10–13 2014:
    GROUP, Sanibel Island, FL
  • July 8–10 2014:
    CSST, Columbia, MO
  • May 13–18 2014:
    UC Irvine, Irvine, CA
  • Oct. 5–8 2013:
    IBM Research, Yorktown Heights, NY

Erik Trainer


Sharing and Co-creation of Scientific Software

Software is of vital importance to science. Data analysis, simulation, and visualization are all part of the scientific process, and all depend on software. More than other assets such as published results and archived data, software requires continuous maintenance effort or it soon loses its value, as it becomes incompatible with new releases of operating systems, middleware, and complementary software.

With financial support from the Alfred P. Sloan Foundation, my research team is investigating software development practices, co-creation, and sharing in collaborative science. We are exploring the extra work required of scientists to make software generally useful and available, as well as the role of Community Code Engagements–short-term focused intensive software development efforts–such as Summer of Code and Hackathons in building community and enabling needed extra work.

Selected Publications

Trainer, E., Kalyanasundaram, A., Chaihirunkarn, C., Herbsleb, J.D. (2016): "How to Hackathon: Socio-technical Tradeoffs in Brief, Intensive Collocation" In Proceedings of the 2016 ACM Conference on Computer-supported Cooperative Work & Social Computing (CSCW 2016, San Francisco, California), pp. 1118-1130.

Trainer, E., Chaihirunkarn, C., Kalyanasundaram, A., Herbsleb, J.D. (2015): "From Personal Tool to Community Resource: What's the Extra Work and Who Will Do It?" In Proceedings of the 2015 ACM Conference on Computer-supported Cooperative Work & Social Computing (CSCW 2015, Vancouver, Canada), pp. 417-430.

Trainer, E., Chaihirunkarn, C., Kalyanasundaram, A., Herblseb, J.D. (2014): "Community Code Engagements: Summer of Code & Hackathons for Supporting Community Building in Scientific Software," In Proceedings of the 2014 ACM Conference on Supporting Group Work (GROUP 2014, Sanibel Island, Florida), pp. 111-121.

Awareness and Trust in Globally Distributed Software Development


Trust improves collaborative behaviors such as communication and knowledge sharing, as well as team effectiveness. Unfortunately, trust remains a challenge for effective collaboration. Remote workers are likely to have much less and lower quality information about their remote collaborators and thus are more likely to erroneously attribute the cause of a breakdown in work to personal characteristics (dispositional attributions) of their collaborators, rather than characterists of the situation (situational attributions).

I was able to explore the issue of erroneous attribution and trust in a recently completed NSF VOSS grant. I theorized a design space for tools to support trust between remote collaborators. Using elements from this design space, I developed a tool called Theseus. Theseus is a software engineering awareness tool that supports the development of trust among distributed software developers. Specific misunderstandings that occur among developers due to lack of awareness can erode trust and leave negative impressions that need to be repaired. Using Theseus, distributed developers can make a more accurate interpretation of why a collaborator was behaving a certain way. Thus, an event like a module check-in being overdue can be interpreted more accurately. I evaluated Theseus in a laboratory experiment and demonstrated that it can positively affect trust among collaborators by supporting accurate attribution.

Theseus website »

Selected Publications

Al-Ani, B., Bietz, M., Wang, Y., Trainer, E., Koehne, B., Marczak, S., Redmiles, D.F., Prikladnicki, R. (2013): "Globally Distributed System Developers: Their Trust Expectations and Processes," In Proceedings of the 2013 ACM Conference on Computer-supported Cooperative Work (CSCW 2013, San Antonio, Texas), pp. 563-573.

Trainer, E. and Redmiles, D.F. (2012): "Foundations for the Design of Visualizations that Support Trust in Distributed Teams," In Proceedings of the 2012 International Working Conference on Advanced Visual Interfaces (AVI 2012, Capri Island, Italy), pp. 34-41.

Trainer, E., Al-Ani, B., and Redmiles, D.F. (2011): "Impact of Collaborative Traces on Trustworthiness," In Proceedings of the 2011 International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE), held in conjunction with The 2011 International Conference on Software Engineering (ICSE 2011, Honolulu, Hawaii), pp. 40-47.


One of the reasons large-scale software development is difficult is the number of dependencies that software engineers face. These dependencies create a need for communication and coordination that requires continuous effort by developers. Empirical studies, including our own, suggest that technical dependencies among software components create social dependencies among the software developers implementing those components. Based on this observation, we developed Ariadne. Ariadne analyzes software projects for dependencies and collects authorship information about projects relying on configuration management repositories. Ariadne can "translate" technical dependencies among components into social dependencies among developers.

Ariadne is a Java-based plug-in to the Eclipse IDE that visualizes the social networks of software developers derived from the underlying software architecture represented by the modules in the system. End users of Ariadne can find answers quickly to common project questions such as who is working on which modules, who might be able to answer questions including, who also knows about a module (i.e. finding a substitute), and so forth. Social network analysis and software dependency analysis are the key components of the system along with the visualizations. We experimented with two different visualizations: a traditional node-edge graph (top right); and a more abstract visualization on three monitors (bottom left).

Ariadne website »

Selected Publications

Trainer, E., Quirk, S., de Souza, C.R.B., and Redmiles, D.F. (2008): "Analyzing a Socio-Technical Visualization Tool Using Usability Inspection Methods," In Proceedings of the IEEE Symposium on Visual Languages and Human Centric Computing (VL/HCC 2008, Herrsching am Ammersee, Germany), pp. 78-81.

de Souza, C.R.B., Quirk, S., Trainer, E., and Redmiles, D.F. (2007): "Supporting Collaborative Software Development through the Visualization of Socio-Technical Dependencies," In Proceedings of the 2007 International ACM Conference on Supporting Group Work (GROUP 2007, Sanibel Island, Florida), pp. 147-156

Trainer, E., Quirk, S., de Souza, C. R. B., Redmiles, D.F. (2005): "Bridging the Gap between Technical and Social Dependencies with Ariadne," In Proceedings of the 2005 OOPSLA Workshop on Eclipse Technology Exchange, pp. 26-30.