About

Hi there! Thank you for checking out the Software Systems Laboratory website. We’re based in the Computer Science Department at Loyola University Chicago. SSL conducts research in computer systems and applied software engineering. We foster innovation by encouraging experimentation and collaboration with a strong emphasis on openness, including open source software development, open access dissemination of research software, and reproducible results. We are an interdisciplinary group with faculty and student interests in computer science, software engineering, information technology, cybersecurity, and engineering. We are a STEAM (Science, Technology, Engineering, Arts, and Mathematics) group, which means that we align ourselves not only with the sciences and mathematics, but also arts and humanities disciplines.

SSL embraces the notion that diversity drives creativity and innovation. Following the principles of the IEEE Special Technical Community on Broadening Participation, all are welcome, regardless of gender, race, ethnicity, socio-economic advantage, physical, mental, and cognitive ability, and LGBTQA+ status. Whilst we are based at Loyola University Chicago, we welcome anyone who is interested in using emerging technologies and software engineering to solve problems. 

To join the research group, you must submit an application. Current team members interview prospective team members, followed by an interview with the director, and affiliated faculty. Decisions are based on previous development experience, ability to work in a team setting, and a statement of purpose. All Loyola University Chicago participants are eligible to apply for independent study. Regardless of whether one earns credit or non-credit, we expect participants to make at least a 6-month commitment to remain in active status within the research group.

RESEARCH TEAM

FACULTY AND INDUSTRY MEMBERS

George Thiruvathukal
George K. Thiruvathukal
Director, Software Systems Laboratory
David B. Dennis
David B. Dennis
Faculty Advisor, ZettelGeist/Historiographic Methods
Gregory J. Matthews
Gregory J. Matthews
Faculty Advisor, Data Science/Shape Analysis
Konstantin Läufer
Konstantin Läufer
Faculty Advisor, Programming Languages/Test Effectiveness
Neil Klingensmith
Neil Klingensmith
Faculty Advisor, Cybersecurity
David Wetzel
David B. Wetzel
Faculty Advisor
Hi, I'm George, sometimes known as Professor Thiruvathukal or Dr. T. I'm a professor of computer science at Loyola University Chicago, where I teach many classes in the computer science and software engineering areas with a strong focus on distributed systems. I'm also visiting faculty at Argonne National Laboratory, where I work on leadership-class supercomputers. When I am not busy as professor and researcher, I enjoy designing/developing software, playing piano, cooking, and humor. (Favorite bumper sticker: "Of all the things I lost in life, I miss my mind the most.")
     
My name is Greg, but you can call me Dr. Greg. I'm an assistant professor of statistics and the director of the data science program at Loyola University Chicago. I teach statistics at all levels from introductory classes up through graduate level courses. My research interests include statistical shape analysis, missing data methods, statistics in sports, statistical disclosure control, public health, and statistical consulting. In my spare time, I enjoy making data art (specifically, abstract digital minimalism.....ask me about it sometime), long form improvisational comedy, and raising children.
     
Konstantin Läufer is a professor of computer science at Loyola University Chicago. He earned a PhD in computer science from the Courant Institute at New York University in 1992. His research interests include programming languages, software architecture, and distributed and pervasive computing, with applications in bioinformatics, environmental science, and digital humanities. Konstantin's research has been funded by government agencies and corporations, and he is a co-inventor on two Lucent Technologies patents.
     
I'm a new professor at Loyola Computer Science, and I'm mostly interested in embedded, IoT, and mobile computing. I just got my PhD from Wisconsin working on building automation systems. Favorite Star Trek character: Mr. Scott.
 
Bio coming soon...

RESEARCHERS

Morgan Richardson
Morgan Richardson
Front-end Lead, ZettelGeist
Sean Higgins
Sean Higgins
Machine Learning Developer, ZettelGeist
Jack West
Jack West
Backend Lead, ZettelGeist
Johnathan Warnekin
Jonathan Warkentin
Backend Developer, ZettelGeist
Emmanuel Ammobi
Emmanuel Amobi
Backend Developer, ZettelGeist
Linette
Linette Maliakal
Front-end Developer, ZettelGeist
Hi! 😁I'm Morgan, and I'm currently studying software engineering at Loyola University Chicago. I am currently President of Loyola's Computer Science Student Advisory Council (CS-STAC), a mentor for Girls Who Code, and a tutor for the CS department. When I'm not working as a front-end developer, I enjoy designing, working on personal projects, and reading! (Currently reading: Ghost in the Wires by Kevin Mitnick 📚)
       
Hi! I'm Sean Higgings, currently pursuing a B.S. in Computer Science and M.S. in Software Engineering at Loyola University Chicago. I have experience in software development through research and industry. My research interests include: Machine Learning, Computer Vision, Quantum Computing.
 
Nice to meet you, I'm Jack! I'm a low level backend programmer, with a research interests in distributed systems and optimization.
   
Hi! I am currently a senior at Loyola University Chicago pursuing my bachelors in Computer Science with a minor in Spanish. I have full-stack experience and am excited to use technology to solve real-world problems.
   
Hi, I'm Emmanuel! I'm currently a junior at Loyola University Chicago pursuing my bachelors in Software Engineering with a minor in Mathematics. I am currently a member of Systems Software Laboratory research group. Some of my interests include web development and machine learning. I am very self driven and always motivated to learn new technologies.
   
Currently an undergrad at Loyola interested in improving UI/UE, AI, Machine Learning. I balance my time between classes, being on board of DON’T PANIC! CS, hackathons, volunteering with Girls Who Code, and tutoring. In my free time, I loves to play tennis. Otherwise, you can find me playing my ukulele, painting scenic moments I've captured with my camera, or practicing Indian dances for performances.
     
Allan J Miller
Allan J Miller
Machine Learning Lead, ZettelGeist
CS graduate student at LUC. I act as a TA for a few classes and love watching others grow. I've thrown my fair share or bonfires and go through 300+ books/year but not at the same time. I love to cook (especially for others), make music, and I dabble in homebrewing.
   

alumni

Riley Clarkson
Riley Clarkson
ZettelGeist
Zac Gallagher
Zac Gallagher
ZettelGeist
Shilpika
Shilpika
Software Metrics and Metrics Dashboard
Hi! I'm Riley, an SSL Alumni with interests all over the place, but particularly in systems programming and devops technologies, currently working at the Federal Reserve Bank of Chicago as a software engineer.
Graduated in 2018 in with a Bachelor’s Degree in Software Engineering from LUC and graduated in 2019 with a Master’s Degree in Software Engineering LUC. Was a teaching assistant as a graduate student and now currently works at Slalom as a Quality Engineer.
Hi, I’m Shilpika. I am currently pursuing my PhD in Computer Science at the University of California, Davis. I am a part of the Visualization and Interface Design Innovation(ViDi) Laboratory at UC Davis. My area of interest is mainly visual analytics and I strive to build scalable and innovative predictive visualization tools.
 

RESEARCH PROJECTS

ZettelGeist

ZettelGeist is a plaintext note-taking system, inspired by the ZettelKasten Method, which emphasizes one idea per note card. SSL is working to integrate Zettelgeist with the Google Suite of tools to support collaborative research and scholarship.

ZettelGeist is a plaintext note-taking system, inspired by the ZettelKasten Method. The project founders have both been interested in taking notes long before discovering ZettelKasten. We really like the thought process behind ZettelKasten, however, and think it is ahead of its time by being “less is more” in its focus.

A key, salient feature of our approach to implementing a ZettelKasten system is not to get distracted by GUI tools at an early stage of development. The default assumption of our system is that we work from plaintext files. We are particularly inspired by systems like Jekyll (a static-site generator for building web sites) that uses YAML to organize its front matter and Markdown as the body. We’re even starting more simply by just using YAML without Markdown, although we might introduce it at release time. The idea is to focus on true notetaking by not encouraging the writing of large, complex documents (which aren’t really notes, right??)

So ZettelGeist is aimed at supporting the spirit of ZettelKasten, while ensuring that it will be useful in other domains. Our primary audience is the scholar who wants to write notes using a simple text editor and storing these notes in the cloud, e.g. in Dropbox, GitHub, etc. While we’d love to build something like the successor to Evernote or OneNote–even as a graphical client–our view is that no such tool should be developed without having the right core abstractions in place. Ultimately, the note is the central abstraction. Having support for metadata is crucial, especially for scholarly–or other serious–projects.

Visit the ZettelGeist website here

Software Metrics and Metrics Dashboard

Coming soon.
See metricsdashboard.cs.luc.edu and luc-metrics.herokuapp.com for a demo of this technology. You can also read these papers ecommons.luc.edu/cs_facpubs/117/ and ecommons.luc.edu/cs_facpubs/192/ and ecommons.luc.edu/cs_facpubs/206/ and ecommons.luc.edu/cs_facpubs/214/ and ecommons.luc.edu/cs_facpubs/75/ to learn more about this research.

Shape Analysis

Coming soon.
See metricsdashboard.cs.luc.edu and You can also read ecommons.luc.edu/cs_facpubs/150/ and ecommons.luc.edu/cs_facpubs/189/ to learn more about this research.

Testing Quality and Effectiveness

Coming soon.
See commons.luc.edu/cs_facpubs/198/ to learn more about this research

Hermes

In this project, we're building virtualization tools for mobile and IoT systems. Think of it like VMWare for your phone. Apps can run inside isolated virtual machines so they can't snoop your personal data, and the virtualization software can be installed by anyone---you don't need to root your phone for Hermes to work.

Using Virtualized Task Isolation to Improve Responsiveness in Mobile and IoT Software
Neil Klingensmith, Suman Banerjee
ACM IoTDI, Montreal, QC, CA, April 2019

A Hypervisor-Based Privacy Agent for Mobile and IoT Systems
Neil Klingensmith, Suman Banerjee
ACM HotMobile, Santa Cruz, CA, February 2019

Hermes: A Real Time Hypervisor for Mobile and IoT Systems
Neil Klingensmith, Suman Banerjee
ACM HotMobile, Tempe, AZ, February 2018

Visit the Hermes website here

VoltKey

The goal of VoltKey is to make deployment and maintenance of new IoT devices easy. Currently, when we install new IoT devices, we need to go through a complex process of connecting the device to the WiFi network. With VoltKey, no configuration is necessary: you just plug the new device in and it works.

VoltKey is a plug that generates USB power for IoT devices from a 120V wall outlet. It harvests entropy (noise) from the wall power and generates a unique security key that the IoT device can use to authenticate to the local WiFi network.

Faculty Lead: Neil Klingensmith

Publications:
VoltKey: Continuous Secret Key Generation based on Power Line Noise for Zero- Involvement Pairing and Authentication
Kyuin Lee, Neil Klingensmith, Younghyun Kim, Suman Banerjee

Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies (IMWUT), September 2019