genSpace: Exploring Social Networking Metaphors for Knowledge Sharing and Scientific Collaborative Work
BibTexType = inproceedings
author = “Christian Murphy, Swapneel Sheth, Gail Kaiser, Lauren Wilcox”,
title = “genSpace: Exploring Social Networking Metaphors for Knowledge Sharing and Scientific Collaborative Work”,
bootktile = “Proc of the First International Workshop on Social Software Engineering and Applications (SoSEA)”,
pages = “29-36”,
month = “Sept”,
year = “2008”
An Information Retrieval Approach for Automatically Constructing Software Libraries
BibTeXtype = article
author = “Yoelle S. Maarek, Daniel M. Berry and Gail E. Kaiser”,
title = “An Information Retrieval Approach for Automatically Constructing Software Libraries”,
journal = “IEEE Transactions on Software Engineering”,
volume = “17”,
year = “8”,
pages = “800-813”,
month = “August”,
year = “1991”
Properties of Machine Learning Applications for Use in Metamorphic Testing
Presented by Leon Wu at the 20th international conference on software engineering and knowledge engineering (SEKE) on July 2, 2008
Properties of Machine Learning Applications for Use in Metamorphic Testing
BibTexType = inproceedings
author = “Christian Murphy, Gail Kaiser, Lifeng Hu and Leon Wu”,
title = “Properties of Machine Learning Applications for Use in Metamorphic Testing”,
bootktile = “Proc. of the 20th international conference on software engineering and knowledge engineering (SEKE)”,
pages = “867-827”,
month = “July”,
year = “2008”
A Distance Learning Approach to Teaching eXtreme Programming
Presented by Chris Murphy at the 13th Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE) on June 30, 2008
A Distance Learning Approach to Teaching eXtreme Programming
BibTexType = inproceedings
author = “Christian Murphy, Dan Phung, and Gail Kaiser”,
title = “A Distance Learning Approach to Teaching eXtreme Programming”,
bootktile = “Proc. of the 13th Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE)”,
pages = “199-203”,
month = “June”,
year = “2008”
Retina
About This Project
In this project, we sought to learn about introductory-level students’ programming habits by observing their behavior when they use an IDE such as Eclipse. We do this by capturing such data like compilation errors, amount of time spent on an assignment, etc., then reporting the data back to a central repository where it can be mined and analyzed. This will help us create reports for the instructor, and also allow us to create ad hoc social networks of students who who have similar programming styles and habits. We also want the system to be able to provide helpful hints to the students, based on their programming styles. We believe that this will enrich the students’ experience and make them better programmers.
In Fall 2007, we built the basic infrastructure for capturing compilation errors and storing them in a database, as well as a prototype UI for instructors’ reports, and a IM-based user interface with which students can “chat”.
In Spring 2008, we collected data from some students in COMS W1004, added new reports and analysis to the instructor’s UI, began the creation of ad hoc user communities (social networks), and created a “help” feature that suggests ways that students can improve their code.
In Summer 2008, we analyzed the data that we collected and tried to determine any correlations between when students start their homework, how much time they spend on it, how many errors they make, what time of day they work on it, and what grades they receive. We also developed the student-view UI and implemented the real-time recommendations. Last, we wrote a paper, which was presented at SIGCSE 2009.
Unfortunately the Retina project is no longer active but if you are interested in working on it and reviving it, please contact us.
Team Members
Faculty
Prof. Gail Kaiser, kaiser [at] cs.columbia.edu
Students
Diana Chang
Aaron Fernandes
Michelle Forman
Sahar Hasan
Tian He
Shreya Kedia
Henry Lau
Tina Loveland
Ben Monnin
Chris Murphy
Links
Publications
Retina paper from SIGCSE 2009
Demo Videos
Instructor View (AVI, MPG)
Student View (AVI, MPG)
Real-time Recommendation (AVI, MPG)
Related tools
Eclipse
NetBeans
BlueJ
Web-CAT
Downloads
Microsoft JDBC driver
Documentation
SQL tutorial
JDBC tutorial (focuses on Oracle but a good starting point)
Microsoft JDBC tutorial (warning: there are some errors in the doc)
JDBC tutorial (this one’s actually really good)
XML and DOM tutorial
Java socket tutorial
Kheiron
Kheiron was developed as a toolkit for performing runtime adaptations in software systems. Our original goal was to create a tool that could be used to dynamically retro-fit self-healing capabilities onto existing/legacy systems transparently and with low overhead. Kheiron manipulates compiled C programs running in an unmanaged execution environment (ELF binaries on Linux x86) as well as programs running in managed execution environments e.g. Microsoft’s Common Language Runtime and Sun Microsystems’ Java Virtual Machine. We currently use Kheiron to build fault-injection tools, which we use in our RAS-benchmarking efforts described below.
Distributed In Vivo Testing of Software Applications
Presented by Chris Murphy at the First International Conference on Software Testing, Verification and Validation on April 10, 2008
Distributed In Vivo Testing of Software Applications
BibTexType = inproceedings
author = “Matt Chu, Christian Murphy, and Gail Kaiser”,
title = “Distributed In Vivo Testing of Software Applications”,
bootktile = “Proc. of the First International Conference on Software Testing, Verification and Validation”,
pages = “509-512”,
month = “April”,
year = “2008”