Publications (14)
Using Large Language Models to Develop Requirements Elicitation Skills
Nelson Lojo, Rafael González, Rohan Philip +4
Requirements Elicitation (RE) is a crucial software engineering skill that involves interviewing a client and then devising a software design based on the interview results. Teachi…
OmniFill: Domain-Agnostic Form Filling Suggestions Using Multi-Faceted Context
Timothy J. Aveni, Armando Fox, Björn Hartmann
Predictive suggestion systems offer contextually-relevant text entry completions. Existing approaches, like autofill, often excel in narrowly-defined domains but fail to generalize…
SCADS: Scale-Independent Storage for Social Computing Applications
Michael Armbrust, Armando Fox, David Patterson +4
Collaborative web applications such as Facebook, Flickr and Yelp present new challenges for storing and querying large amounts of data. As users and developers are focused more on…
Exploring Gender Bias in Remote Pair Programming among Software Engineering Students: The twincode Original Study and First External Replication
Amador Durán, Pablo Fernández, Beatriz Bernárdez +3
Context. Software Engineering (SE) has low female representation due to gender bias that men are better at programming. Pair programming (PP) is common in industry and can increase…
Gender Bias in Remote Pair Programming among Software Engineering Students: The twincode Exploratory Study
Amador Durán, Pablo Fernández, Beatriz Bernárdez +3
Context. Pair programming (PP) has been found to increase student interest in Computer Science, particularly so for women, and would therefore appear to be a way to help remedy the…
The Importance of Computing Education Research
Steve Cooper, Jeff Forbes, Armando Fox +3
Interest in computer science is growing. As a result, computer science (CS) and related departments are experiencing an explosive increase in undergraduate enrollments and unpreced…
The Role of Generative AI in Software Student CollaborAItion
Natalie Kiesler, Jacqueline Smith, Juho Leinonen +3
Collaboration is a crucial part of computing education. The increase in AI capabilities over the last couple of years is bound to profoundly affect all aspects of systems and softw…
Developing a Tool to Automate Extensions to Support a Flexible Extension Policy
Jordan Schwartz, Madison Bohannan, Jacob Yim +6
In this work, we present the development of an automated extension tool to assist educators and increase the success and well-being of students by implementing flexible extension p…
Bluejay: A Cross-Tooling Audit Framework For Agile Software Teams
Cesar Garcia, Alejandro Guerrero, Joshua Zeitsoff +4
Agile software teams are expected to follow a number of specific Team Practices (TPs) during each iteration, such as estimating the effort ("points") required to complete user stor…
Cheap Recovery: A Key to Self-Managing State
Andrew C. Huang, Armando Fox
Cluster hash tables (CHTs) are a key persistent-storage component of many large-scale Internet services due to their high performance and scalability. We show that a correctly-desi…
End-User Effects of Microreboots in Three-Tiered Internet Systems
George Candea, Armando Fox
Microreboots restart fine-grained components of software systems "with a clean slate," and only take a fraction of the time needed for full system reboot. Microreboots provide an a…
Faster and More Accurate Sequence Alignment with SNAP
Matei Zaharia, William J. Bolosky, Kristal Curtis +6
We present the Scalable Nucleotide Alignment Program (SNAP), a new short and long read aligner that is both more accurate (i.e., aligns more reads with fewer errors) and 10-100x fa…
Microreboot -- A Technique for Cheap Recovery
George Candea, Shinichi Kawamoto, Yuichi Fujiki +2
A significant fraction of software failures in large-scale Internet systems are cured by rebooting, even when the exact failure causes are unknown. However, rebooting can be expens…
PIQL: Success-Tolerant Query Processing in the Cloud
Michael Armbrust, Kristal Curtis, Tim Kraska +3
Newly-released web applications often succumb to a "Success Disaster," where overloaded database machines and resulting high response times destroy a previously good user experienc…