Publications

(2023). New technologies as decision aids for the advancement of ecological risk assessment. Integrated Environmental Assessment and Management — Volume 19, Number 5—pp. 1168–1171.

Cite DOI URL

(2022). UnoAPI: Balancing Performance, Portability, and Productivity (P3) in HPC Education. Proc. EduHPC-22: Workshop on Education for High-Performance Computing.

Cite URL

(2022). Snapshot Metrics Are Not Enough: Analyzing Software Repositories with Longitudinal Metrics (Tool Demonstration). Proceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering.

Cite URL

(2021). Metrics Pipeline (Codename): An Analytics and Visualization Pipeline for Software Quality Metrics (Poster). Undergraduate Research and Engagement Symposium.

Cite URL

(2021). Learning Test-Driven Development. O’Reilly Media, Inc..

Cite URL

(2020). Toward a containerized pipeline for longitudinal analysis of open-source software projects (Poster). Graduate Research Symposium.

Cite URL

(2019). Tests as Maintainable Assets via Auto-Generated Spies: A Case Study Involving the Scala Collections Library's Iterator Trait. Proceedings of the Tenth ACM SIGPLAN Symposium on Scala.

Cite DOI URL

(2018). Metrics Dashboard: A Hosted Platform for Software Quality Metrics. CoRR.

Cite URL

(2018). Managing Concurrency in Mobile User Interfaces with Examples in Android. Topics in Parallel and Distributed Computing.

Cite DOI

(2017). Experiences with Scala Across the College-Level Curriculum (Invited Talk). Scala Days.

PDF Cite

(2016). A Polyglot Approach to Bioinformatics Data Integration: A Phylogenetic Analysis of HIV-1. Evolutionary Bioinformatics.

Cite DOI URL

(2015). Middleware for Collaborative Distributed/Mobile Applications: XMPP or Reactive HTTP? (Poster). Proc. 4th Greater Chicago Area System Research Workshop (GCASR), Chicago, Illinois.

PDF Cite

(2015). Towards Sustainable Digital Humanities Software. Proc. Workshop on Sustainable Software for Science: Practice and Experiences (WSSSPE).

Cite URL

(2015). A Framework Architecture for Student Learning in Distributed Embedded Systems. 10th IEEE International Symposium on Industrial Embedded Systems (SIES).

Cite URL

(2014). Scala for Introductory CS and Parallelism (Workshop). 45th ACM technical symposium / Computer science education (SIGCSE ‘14).

Cite URL

(2013). Network Technologies Used to Aggregate Environmental Data (Poster). Proc. 2nd Greater Chicago Area System Research Workshop (GCASR), Chicago, Illinois.

Cite URL

(2013). Building Capable, Energy-Efficient, Flexible Visualization and Sensing Clusters from Commodity Tablets (Poster). Proc. 4th Greater Chicago Area System Research Workshop (GCASR), Chicago, Illinois.

Cite URL

(2013). Using Scala strategically across the undergraduate curriculum (Workshop). 44th ACM technical symposium / Computer science education (SIGCSE ‘13).

Cite URL

(2012). Early Adopter Report: PDC Modules for Every Level: A Comprehensive Model for Incorporating PDC Topics into the Existing Undergraduate Curriculum (Poster). 2nd NSF/IEEE-CS TCPP Workshop on Parallel and Distributed Computing Education (EduPar), Shanghai, China.

Cite URL

(2012). Simplifying Domain Modeling and Memory Management in User-Mode Filesystems with the NOFS Framework. International Conference on Electro Information Technology 2012.

Cite URL

(2011). PDC Modules for Every Level: A Comprehensive Model for Incorporating PDC Topics into the Existing Undergraduate Curriculum. 1st NSF/IEEE-CS TCPP Workshop on Parallel and Distributed Computing Education (EduPar), Anchorage, Alaska.

Cite URL

(2011). RestFS: The Filesystem as a Connector Abstraction for Flexible Resource and Service Composition. Cloud Computing: Methodology, System, and Applications.

Cite URL

(2011). RestFS: Resources are Filesystems, too. Second International Workshop / RESTful Design (WS-REST ‘11).

Cite URL

(2011). REST on Routers? Preliminary Lessons for Language Designers, Framework Architects, and App Developers. ICSOFT 2011 - Proceedings of the 6th International Conference on Software and Data Technologies, Volume 1, Seville, Spain, 18-21 July, 2011.

Cite URL

(2011). Moving Academic Department Functions to Social Networks and Clouds: Initial Experiences. Computing in Science and Engineering.

Cite URL

(2011). Initial experience in moving key academic department functions to social networking sites. ICSOFT 2011 - Proceedings of the 6th International Conference on Software and Data Technologies, Volume 1, Seville, Spain, 18-21 July, 2011.

Cite URL

(2010). Virtualization for Computational Scientists. Computing in Science and Engineering.

Cite URL

(2010). Online Layered File System (OLFS): A layered and versioned filesystem and performance analysis. IEEE International Conference on Electro/Information Technology (EIT 2010).

Cite URL

(2009). Scientific Programming: The Promises of Typed, Pure, and Lazy Functional Programming: Part II. Computing in Science and Engineering.

Cite URL

(2009). Putting a Slug to Work. Computing in Science and Engineering.

Cite URL

(2009). GroupSpeak: High-level Language Extension for Workflow Capability. IEEE International Conference on Web Services, ICWS 2009, Los Angeles, CA, USA, 6-10 July 2009.

Cite DOI URL

(2009). Essential Tools: Version Control Systems. Computing in Science and Engineering.

Cite URL

(2008). What I Did on My Summer Vacation. Computing in Science and Engineering.

Cite URL

(2008). Taming XML: Objects First, Then Markup. IEEE International Conference on Electro/Information Technology (EIT 2008).

Cite URL

(2008). Combining SOA and BPM Technologies for Cross-System Process Automation. Proceedings of the Twentieth International Conference on Software Engineering & Knowledge Engineering (SEKE'2008), San Francisco, CA, USA, July 1-3, 2008.

PDF Cite

(2007). A Model-Driven Approach to Job/Task Composition in Cluster Computing. 2007 IEEE International Parallel and Distributed Processing Symposium.

Cite DOI

(2007). A Hike through a Post-EJB J2EE Web Application Architecture, Part III. Computing in Science and Engineering.

Cite URL

(2006). Unit Testing Considered Useful. Computing in Science and Engineering.

Cite URL

(2005). A hike through post-EJB J2EE Web application architecture. Comput. Sci. Eng..

Cite DOI URL

(2004). Plone and Content Management. Computing in Science and Engineering.

Cite URL

(2004). Natural XML for Data Binding, Processing, and Persistence. Computing in Science and Engineering.

Cite URL

(2003). Method and apparatus for providing interactive services with multiple interfaces.

Cite URL

(2003). Method and apparatus for providing interactive services with multiple interfaces.

Cite URL

(2003). Using handheld and wireless technology for classroom and community-based South Asian language pedagogy.

Cite URL

(2003). Mockup Supporting Web Requirements Engineering. Proceedings of the International Conference on Internet Computing, IC ‘03, Las Vegas, Nevada, USA, June 23-26, 2003, Volume 2.

PDF Cite

(2002). Half & Half: Multiple Dispatch and Retroactive Abstraction for Java.

PDF Cite

(2000). The Triveni project. ACM SIGSOFT Softw. Eng. Notes.

Cite DOI URL

(2000). Sisl: Several Interfaces, Single Logic. Int. J. Speech Technol..

Cite DOI URL

(2000). Safe Structural Conformance for Java. Comput. J..

PDF Cite DOI URL

(2000). Automated systematic testing for constraint-based interactive services. ACM SIGSOFT Symposium on Foundations of Software Engineering, an Diego, California, USA, November 6-10, 2000, Proceedings.

Cite DOI URL

(2000). A Constraint-Based Framework for Prototyping Distributed Virtual Applications. Principles and Practice of Constraint Programming - CP 2000, 6th International Conference, Singapore, September 18-21, 2000, Proceedings.

Cite DOI URL

(1998). Interaction, Concurrency, and OOP in the Curriculum: a Sophomore Course. Proc. OOPSLA 1998 Educators’ Symposium.

PDF Cite

(1998). The Semantics of Triveni: A Process-Algebraic API for Threads + Events. Electron. Notes Theor. Comput. Sci..

Cite DOI URL

(1998). Objects and Concurrency in Triveni: A Telecommunication Case Study in Java. 4th USENIX Conference on Object-Oriented Technologies and Systems (COOTS), April 27-30, 1998, Eldorado Hotel, Santa Fe, New Mexico, USA.

Cite URL

(1998). Design and Implementation of Triveni: A Process-Algebraic API for Threads + Events. Proceedings of the 1998 International Conference on Computer Languages, ICCL 1998, Chicago, IL, USA, May 14-16, 1998.

Cite DOI URL

(1996). On the Interaction of Object-Oriented Design Patterns and Programming Languages.

PDF Cite URL

(1996). Type Classes with Existential Types. J. Funct. Program..

PDF Cite DOI URL

(1996). Putting Type Annotations to Work. Conference Record of POPL'96: The 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Papers Presented at the Symposium, St. Petersburg Beach, Florida, USA, January 21-24, 1996.

PDF Cite DOI URL

(1995). Interactive Web Applications Based on Finite State Machines (Invited Talk). Proc. Symp. Information Systems Analysis and Synthesis (ISAS).

PDF Cite

(1995). A Framework for Higher-Order Functions in C++. Proceedings of the USENIX Conference on Object-Oriented Technologies, COOTS'95, Monterey, California, USA, June 26-29, 1995.

PDF Cite URL

(1994). Combining Type Classes and Existential Types. Proc. Latin American Informatics Conf. (PANEL).

PDF Cite

(1994). Polymorphic Type Inference and Abstract Data Types. ACM Trans. Program. Lang. Syst..

PDF Cite DOI URL

(1993). Self-Interpretation and Reflection in a Statically Typed Language. Proc. OOPSLA Workshop on Reflection and Metalevel Architectures.

PDF Cite

(1992). An Extension of ML with First-Class Abstract Types. Proc. ACM SIGPLAN Workshop on ML and its Applications.

PDF Cite

(1991). Type Classes are Signatures of Abstract Types. Declarative Programming, Sasbachwalden 1991, PHOENIX Seminar and Workshop on Declarative Programming, Sasbachwalden, Black Forest, Germany, 18-22 November 1991.

PDF Cite DOI URL

(1991). Programming with Structures, Functions, and Objects. Proc. XVII Latin American Informatics Conference (PANEL ‘91).

PDF Cite

(1987). Cobra Address User Manual.

Cite

(1986). Cobra Litsy User Manual.

Cite

(1984). MailBox User Manual and Administration Guide.

Cite