Carnegie Mellon University

Software Research Seminar (SSSG)

Software Research Seminar Syllabus

The Software Research Seminar (SSSG) at CMU relies on active participation and a supportive community to help students broaden their understanding of software research and hone their presentation skills. This document briefly outlines our expectations for Software Engineering Ph.D. students with respect to SSSG.

General Expectations:

  1. Attend both SSSG presentations each week.
  2. Participate by asking questions, contributing to the discussion, and giving constructive verbal and written feedback to presenters. Using an electronic device for purposes other than note-taking or feedback on the presentation is considered to be non-participation.
  3. Give 2 well-prepared SSSG talks per year (2 if giving an approved talk in an outside venue)

The faculty recognizes that students may occasionally have conflicts with particular SSSG dates; in these cases the Reasonable Person Principle applies. There may occasionally be a systematic conflict, such as an overlapping course, in which case advance approval should be arranged with advisor and PhD Program Director (but not more than once for any student). In the rare case when a student's participation or presentations falls significantly below expectations, the faculty will require remedial action appropriate to the student.

The Seminar is offered for graduate credit, is repeatable, and is intended to be an ongoing activity. PhD students in software engineering are required to register for this seminar on an ongoing basis, and all other graduate students are encouraged to attend.

Fall 2017

August 28

Michael Hilton

"Trade-Offs in Continuous Integration: Assurance, Security and Flexibility"

Bogdan Vasilescu

"Recovering Clear, Natural Identifiers from Obfuscated JavaScript Names"

September 11

Roykrong Sukkerd

"Explainable Planning Language for Multi-Objective Probabilistic Planning"

Ashutosh Pandey

This a practice talk for a workshop presentation."Instance-based Learning for Hybrid Planning"

September 18

Ivan Ruchkin

Tutorial: Satisfiability Modulo Theories

 Jens Meinicke

Understanding Interactions in Highly-Configurable Software

September 25

Darya Melicher

Using Object Capabilities and Effects to Build an Authority-Safe Module System

Mauricio Soto

Test suites, overfitting and its role in automatic program repair

October 2

Cody Kinneer

Internship Report: Architecture and Modeling at NASA's Jet Propulsion Laboratory

Ryan Wagner

Analyzing System Architecture to Ensure Graceful Degradation Under Attack

October 9

T.J. Glazier

Approach to Meta-Management of Autonomous Systems

Morgan Evans

An Evaluation of Constituency-based Hyponymy Extraction from Privacy Policies

October 16

Jonathan Aldrich

Design-Driven Assurance in Wyvern

David Widder

Framework Debugging, Stories Of Benefits and Challenges

October 23

Afsoon Afzal

Evaluating Robot Blockly: A Comparative Study of Robotics Programming Environments for Adult Novices

Christian Kästner

On The Power of Domain-Specific Languages: The Aidan Notation

October 30

Sudarshan Wadkar (Cancelled moved to Dec. 11th)

TBA

 Jenna Wise (Cancelled moved to Dec. 11th)

TBA

November 6

Jeremy Lacomis

Automatically Exploring Tradeoffs Between Software Output Fidelity and Energy Costs

Daniel Smullen

Why do researchers write terrible code? (A shameless plug for our new Friday lunch 'n' learn sessions)

November 13

Shurui Zhou

Avoid Wasteful Practices in Fork-based Development

 

November 20

Rijnard van Tonder

Fuzz and Patch and Fuzz

Chu-Pan Wong

Variational Bytecode

November 27

Miguel Velez

Reducing Instrumentation Overhead for Java Performance Measurement.

Gabriel Ferreira

Enabling Improved Security in Software Ecosystems: The Node.js/npm case

December 4

Selva Samuel

TBA

Jim Herbsleb

TBA

December 11

Sudarshan Wadkar

TBA

Jenna Wise

TBA

Spring 2018

January 22

HOLD

TBA

 

TBA

January 29

TBA

 

TBA

February 5

Ryan Wagner

TBA

 

TBA

February 12

TBA

 

TBA

 February 19

Rijnard van Tonder

TBA

 

TBA

 February 26

Jenna Wise

TBA

 Sudarshan Wadkar

TBA

 March 5

Jeremy Lacomis

TBA

Afsoon Afzal

TBA

March 19

Morgan Evans

TBA

 Daniel Smullen

TBA

March 26

Chu-Pan Wong

TBA

Cody Kinneer

TBA

April 2

Roykrong Sukkerd

TBA

Ivan Ruchkin

TBA

April 9

Jaspreet Bhatia

TBA

 David Widder

TBA

April 16

 T.J. Glazier

TBA

HOLD

TBA

April 23

Gabriel Ferreira

TBA

 Selva Samuel

TBA

April 30

Miguel Velez

TBA

Ashutosh Pandey

TBA

May 7

HOLD

TBA

Shurui Zhou

TBA

Spring 2017

January 23

Bogdan Vasilescu

Presenting Research: Structure, Story, and Support

Jason Tsay

Predicting Community Support for Open Source Software Projects in GitHub

January 30

Graham Neubig, Asst. Professor, LTI

Neural Network Models for Generating Source Code from Natural Language

Sudhi Wadkar

Recognizing Textual Entailment and Natural Language Processing Models

February 6

Thomas Glazier (Cancelled)

TBA

February 13

Vishal Dwivedi

"Engineering End-User Composition Environments — a Framework Approach"

Mary Shaw

"What Can Control Theory Teach Us about Designing Cyber-Physical Systems?"

February 20

Ryan Wagner

Exemplar of an Advanced Persistent Threat for Research Use

Daniel Smullen

A basic tutorial on Description Logic, for newbies.

February 27

Miguel Velez

Exploiting Structure and Behavior of Highly Configurable Systems to Measure Performance

Cody Kinneer

Software Architecture, NASA Style

March 6

Mary Shaw

Curriculum Design, Demystified

Discussion moderated by Mary Shaw

Darko Bozhinoski

Safety-Driven Adaptation in Mobile Multi-Robot systems (MMRSs)

March 20

Rijnard van Tonder

Lifter Synthesis: Synthesizing a Program Analysis Component

Selva Samuel

Motion Control of a Mobile Robot

March 27

Afsoon Afzal

Code-level adaptation in the robotics domain

April 3

No Talk

Graduate Student Appreciation NSH 4:30-6:00

No Talk

Graduate Student Apprecation in NSH 4:30-6:00

April 10

Roykrong Sukkerd

Towards Self-Explaining Model-Based Adaptive Systems

Ivan Ruchkin

Inconsistencies in Models of Adaptive Service Robots

April 17

Jaspreet Bhatia

Privacy Goal Mining through Hybridized Task Re-composition

Gabriel Ferreira

Design Dimensions for Software Certification

April 24

Darya Melicher

A Capability-Based Module System for Authority Control

Ashutosh Pandey

Towards a Formal Framework for Hybrid Planning in Self-Adaptation

May 1

 Anna Filippova

From Diversity by Numbers to Diversity as Process: Supporting Inclusiveness in Software Development Teams with Brainstorming

Graham Neubig and Pengcheng Yin

Neural Network Models for Generating Source Code from Natural Language

Fall 2016

August 29 Sven Stork - Software Engineering Ph.D. Alumni Stefan Stanciulescu, Visiting Student
September 12

Gabriel Ferreira

"Time Management (for humans)"

Christian Kästner

How to Break an  API: Cost Negotiation and Community Values in Three Software Ecosystems

September 19

David Garlan

"Rethinking the Role of the Software Architect"

Darya Melicher

Data Model and Concurrency in the Do Programming Language

September 26

Sudarshan Wadkar

Modeling Laws and Regulations

Ryan Wagner

Why is Government Software So Bad?

October 3

Roykrong Sukkerd

Self-Explanation for Human-in-the-Loop Autonomous Systems

Jason Tsay

Signaling, Transparency, and Software Engineering

October 10

Mauricio Soto

Using a probabilistic model to predict bug fixes

T.J. Glazier

The Case for Meta-Management of Autonomous Systems

October 17

Daniel Smullen

"Alexander the Anonymous: a tactician who promotes privacy in software architectures"

Afsoon Afzal

"Small Scale vs. Large Scale Evaluation"

October 24

Vishal Dwivedi

Towards tools for End User Architecting — the research and engineering challenges

George Fairbanks, Former SE Ph.D. Student

Model-Minded Development

October 31

Waqar Ahmad

Reusability Challenges in using a Custom-Built Software System as a Software Product

Ivan Ruchkin

IPL: A Language for Model Integration Properties in Cyber-Physical Systems

November 7

Miguel Velez-Cevallos

A TurtleBot Configurations Measurement Harness to Build a Sensitivity Model

Jonathan Aldrich

On Science, Mathematics, and Engineering in Language Design: The Case of an Immutability Type System

November 14

Cody Kinneer

Genetic Planning for Self Adaptive Systems

Gabriel Moreno

Scaling up Self-Adaptation with the Cross-Entropy Method

November 21

Jaspreet Bhatia

Semantic Frame Representation for Data Practices

Shuri Zhou

Applying Information Retrieval in Software Engineering

November 28

Ashutosh Pandey

Title: A Case Study: From Theory to Practice

Chu-Pan Wong

Playing with Java Bytecode

December 5

Selva Samuel

Challenges in Physical Modeling for Adaptation of Cyber-Physical Systems

Rijnard van Tonder

Driving Program Repair with Verification

Spring 2016

January 11

Nathan Fulton

"A Logic of Proofs for Differential Dynamic Logic: Toward Independently Checkable Proof Certificates for Dynamic Logics"

T.J. Glazer

"Taming the Necessary Evil: How to manage successful remote meetings"

January 25

Session Chair: T.J.

Samuel Selva

The Correspondence Between Lambda Calculus and Programming Languages

 

February 1

Session Chair: Selva

Michael Maass

What's New in Java?

 

February 8

Session Chair: Michael

Vishal Dwivedi

Why Software Compositions are like Indian marriages?

Mauricio Soto

Using keystroke dynamics as a second authentication mechanism

February 15

Chair: Ivan

Roykrong Sukkerd

Multiscale Time Abstractions for Long-Range Planning under Uncertainty

 Ashutosh Pandey

Hybrid Planning for Decision Making in Self-Adaptive Systems

February 22

Session Chair: Ashutosh

Daniel Smullen

Engineering and Computer Science in Canada: it’s a whole different world, eh?

Jason Tsay

Improving Signaling in Software Development

February 29

Session Chair: Michael

Ryan Wagner

Survivability and Security Analysis Using Linear Temporal Logic

Afsoon Afzal

A startup in a country far far away

March 7

Session Chair: Gabriel

 Cancelled Spring Break (T.J)

TBA

Cancelled Spring Break (Sudarshan Wadkar)

TBA

March 14

Session Chair: Afsoon

 

Mauricio Soto

A deeper look into bug fixes: Patterns, replacements, deletions, and additions

March 21

Session Chair: Vishal

Daniel Smullen

Explaining the gist of our research to NIST

Gabriel Moreno

Efficient Decision- Making under Under Uncertainty for Proactive Self-Adaption

March 28

Session Chair: Nathan

T.J. Glazier-Cancelled

Waqar Ahmad

Inter-app Communication in Android:Developer Challenges

April 4

Session Chair: Jason

Sudarshan Wadkar- Cancelled

An Information Ontology for Privacy Policy

Selva Samuel

Software Engineering at the Advent of Quantum Computing

April 11

Session Chair: Waqar

Ryan Wagner

Balancing Civil Liberties and Security in Technology

Gabriel Ferreira

How the Brazilian Federal Government Influences IT in an Academic Institution: Experiences and Reflection

April 18

Session Chair: Shurui

Mary Shaw

TBA

Darya Melicher

A Capability-Safe Module System for Authority Control

April 25

Session Chair: Darya

Ashutosh Pandey

Whats new in C++11

Chu-Pan Wong

Variability-Aware Bytecode

May 2

Session Chair: Chu-Pan

Shurui Zhou

Identifying features from forks  II

 Afsoon Afzal

Inferring invariant in ROS systems

May 9

Session Chair: Gabriel F.

Sudarshan Wadkar-Cancelled

An Information Ontology for Privacy Policy

Vishal Dwivedi

Why many VPLs became defunct and how they could have lived longer

Fall 2015

August 31

Len Bass

"Programming in the 1960s: A Personal History"

Roykrong Sukkerd

"Task Planning for Cyber-Human Systems"

September 14

Ivan Ruchkin

"Eliminating Inter-Domain Vulnerabilities in Cyber-Physical Systems: An Analysis Contracts Approach"
 

Jaspreet Bhatia

"Vagueness in Privacy Policies"

September 21

Session Chair: Jaspreet

Thomas Glazier- Cancelled

Mauricio Soto

"An overview of code clones and a study of the redundancy of source code"

September 28

Session Chair: Darya

Shurui Zhou

"Survey : Building Software Product Line from Existing Products"

Claire LeGoues

"Perspectives on Structuring a Research Presentation."

October 5

Session Chair: Mauricio

Vishal Dwivedi

"How End-users Perform Software Composition tasks – a Qualitative Study"

Jason Tsay

"Inlook: Exploring communication through a self-mining email tool"

October 12

Session Chair: Vishal

Daniel Smullen

"Adventures in Radar Interferometry and Statistical Denoising"

Michael Maass

"How I Manage My Time"

October 19

Session Chair: Shurui

Waqar Ahmad

"Enforcing Fine-Grained Security and Privacy Policies in an Ecosystem within an Ecosystem"

Nathan Fulton

"Typed Tactics and Proof Terms for KeYmaera X"

October 26

Session Chair: Gabriel F.

Nathan Fulton

"The Semantics and Type System of Bellerophon"

 Darya Melicher

"Ubiquitous Object Orientation to Foster the Advancement of Programming Languages"

November 2

Session Chair: Waqar

Ashutosh Pandey

"Sysense: A System Level Sensing Technology"

Ciera Jaspan

"Life after CMU"

November 9

Session Chair: Ashutosh

Ivan Ruchkin

"Two Hammers of Software Engineering Research"

Ashwini Rao

"Expecting the Unexpected: Understanding Mismatched Privacy Expectations Online"

November 16

Session Chair: Ashwini

Sudarshan Wadkar

Cancelled

Christian Kåstner

"Starting an Academic Career: Reflections on Habits that Worked for Me"

November 23

Chu-Pan Wong

"An Empirical Study on Multi-line Patches"

Selva Samuel

"Efficiently Sampling Probabilistic Programs via Program Analysis"

November 30

Session Chair: Chu-Pan

Shurui Zhou

"Identifying features in Forks"

 Gabriel Ferreira

"Characterizing Configuration Complexity in the Linux Kernel"

December 7

Session Chair: Christian

Afsoon Afzal

"Repairing Programs with Semantic Code Search"

Ryan Wagner

"A Retrospective on Security Risk"