Skip to content

Latest commit

 

History

History
225 lines (218 loc) · 11.1 KB

calendar.md

File metadata and controls

225 lines (218 loc) · 11.1 KB
layout title nav_order instructor location dates description weeks
calendar
Calendar
2
Prof Bell
Richards Hall 325
Tues 11:45am-1:25pm, Thurs 2:50pm-4:30pm
Listing of course modules and topics.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
topic Tue Thu
Software Process
date name file
2023/01/10
SW Process and Course Overview.
1-overview
date name page required
2023/01/12
Process Discussion
/lecture-notes/2-sdi
[Software Aspects of Strategic Defense Systems](https://doi.org/10.1145/214956.214961). David Parnas. CACM 1985
topic Tue Thu
Modularity and Design
date name page file required
2023/01/17
Overview: Modularity, Design and Patterns
/lecture-notes/3-design
3-design
[Patterns of Software: Tales from the Software Community](https://www.dreamsongs.com/Files/PatternsOfSoftware.pdf). Richard Gabriel, 1996. Read 'Reuse Versus Compression' (p3-7) and 'The Quality Without a Name' (p33-43)
date name page required
2023/01/19
Discussion: Modularity and Design
/lecture-notes/4-aop-rp
[Aspect-Oriented Programming](https://link.springer.com/chapter/10.1007/BFb0053381). Kiczales et al. ECOOP 1997
[An empirical study on program comprehension with reactive programming](https://dl.acm.org/doi/abs/10.1145/2635868.2635895). Salvaneschi et al. FSE 2014
topic Tue Thu
Open Source
date name file
2023/01/24
Overview: Open Source History and Models
5-open-source
date name page required
2023/01/26
Discussion: Open Source
/lecture-notes/6-oss
[How Has Forking Changed in the Last 20 Years? A Study of Hard Forks on GitHub](https://dl.acm.org/doi/10.1145/3377811.3380412). Zhou, Vasilescu and Kästner. ICSE 2020
[How to Not Get Rich: An Empirical Study of Donations in Open Source](https://doi.org/10.1145/3377811.3380410). Overney et al. ICSE 2020
topic Tue Thu
Mining Software Repositories
date name file
2023/01/31
Overview: MSR, metrics
7-msr
date name page required
2023/02/02
Discussion: Mining Software Repositories
/lecture-notes/8-msr
[The Promises and Perils of Mining GitHub](https://doi.org/10.1145/2597073.2597074). Kalliamvakou et al. MSR 2014
[A Large-Scale Comparison of Python Code in Jupyter Notebooks and Scripts](https://doi.org/10.1145/3524842.3528447). Grotov et al. MSR 2022
topic Tue Thu
Testing: Overview and Oracles
date name file deliverable
2023/02/07
Overview: Tests and Oracles
9-tests-oracles
name page
Reflection Paper Proposal
/assessments/paper-proposal/
date name page required
2023/02/09
Discussion: Test Oracles
/lecture-notes/10-mutation-daikon
[Are Mutants a Valid Substitute for Real Faults in Software Testing?](https://doi.org/10.1145/2635868.2635929). Just et al. FSE 2014
[Dynamically Discovering Likely Program Invariants to Support Program Evolution](https://doi.org/10.1145/302405.302467). Ernst, Griswold and Notkin. ICSE 1999
topic Tue Thu
Testing: Inputs
date name file required
2023/02/14
Overview: Input Generation Techniques
11-tests-inputs
[An Empirical Study of the Reliability of UNIX Utilities](https://doi.org/10.1145/96267.96279). Miller, Fredriksen and So. CACM 1990
[How SQLite is Tested](https://www.sqlite.org/testing.html). If you are interested in how SQLite is made, optionally check out: SQLite [amalgamation](https://www.sqlite.org/amalgamation.html), [license](https://github.com/sqlite/sqlite/blob/master/LICENSE.md)
date name
2023/02/16
Project Proposal Brainstorming
topic Tue Thu
Testing: Inputs
date name page required optional
2023/02/21
Discussion: Fuzzing
/lecture-notes/12-glfuzz
[Automated Testing of Graphics Shader Compilers](https://doi.org/10.1145/3133917). Donaldson et al. OOPSLA 2017
Bohme16CoverageBased
Pacheco07Randoop
date name deliverable
2023/02/23
Project Proposal Discussions
name page
Preliminary Project Proposal
/assessments/project-proposal
topic Tue Thu
CI and Test Suite Maintenance
name date file
Overview: CI and cloud resources
2023/02/28
13-ci
date name deliverable page required
2023/03/02
Discussion: CI, more process
name page
Final Project Proposal
/assessments/revised-project-proposal
/lecture-notes/14-ci
[Trade-Offs in Continuous Integration: Assurance, Security, and Flexibility](https://doi.org/10.1145/3106237.3106270). Hilton et al. FSE 2017
[Taming Google-Scale Continuous Testing](https://doi.org/10.1109/ICSE-SEIP.2017.16). Memon et al. ICSE 2017
topic
Spring Break
topic Tue Thu
Paper Presentations
date name deliverable note
2023/03/14
Students present their reflection papers
name page
Reflection Paper
/assessments/paper/
date name note
2023/03/16
Students present their reflection papers
topic Tue Thu
Devops
date name file required
2023/03/21
Overview: Deployment and Operations
15-cd
date name page required
2023/03/23
Discussion: DevOps
17-devops
[Canopy: An End-to-End Performance Tracing And Analysis System](https://doi.org/10.1145/3132747.3132749). Kaldor et al. OSDI 2017
[An Evolutionary Study of Configuration Design and Implementation in Cloud Systems](https://dl.acm.org/doi/10.1109/ICSE43902.2021.00029). Zhang et al. ICSE 2021
topic Tue Thu
Expertise and Knowledge Sharing
name date file deliverable
Overview: Collaboration in SE
2023/03/28
18-knowledge
name page
Project Status Update
/assessments/project-status-update/
date name required
2023/03/30
Discussion: Being Great and Helping Others
[What Makes a Great Software Engineer?](https://dl.acm.org/doi/10.5555/2818754.2818839) Li, Ko and Zhu. ICSE 2015
[An Exploratory Study of Sharing Strategic Programming Knowledge](https://doi.org/10.1145/3491102.3502070). Arab et al. CHI 2022
topic Tue Thu
More Human Factors
date name required
2023/04/04
Discussion: SE and Data Science
[What’s Wrong with Computational Notebooks? Pain Points, Needs, and Design Opportunities](https://doi.org/10.1145/3313831.3376729). Chattopadhyay et al. CHI 2020
[Managing Messes in Computational Notebooks](https://dl.acm.org/doi/10.1145/3290605.3300500). Head et al. CHI 2019
date name required
2023/04/06
Discussion: Barriers to Diversity in SE
[Open source barriers to entry, revisited: A sociotechnical perspective](https://dl.acm.org/doi/10.1145/3180155.3180241). Mendez et al. ICSE 2018
["STILL AROUND": Experiences and Survival Strategies of Veteran Women Software Developers](https://empirical-software.engineering/assets/pdf/icse23-still-around.pdf). Breukelen et al. ICSE 2023
topic Tue Thu
Security
date name required
2023/04/11
Overview: Security and SE, Malicious Components
[What Are Weak Links in the Npm Supply Chain?](https://doi.org/10.1145/3510457.3513044). Zahan et al. ICSE 2022
[Practical Automated Detection of Malicious Npm Packages](https://doi.org/10.1145/3510003.3510104). Sejfia and Schäfer. ICSE 2022
date name required
2023/04/13
Discussion: Security and Course Postmortem
[Why secret detection tools are not enough: It’s not just about false positives - An industrial case study](https://link.springer.com/article/10.1007/s10664-021-10109-y). Rahman et al. Empirical Software Engineering, 2022
topic Tue Thu
Project Presentations
date name deliverable
2023/04/18
Students present their projects
name page
Project Report
/assessments/project/
date name
2023/04/20
Students present their projects

Class meetings marked as "overview" will be lecture-focused, providing background material to help contextualize the topic. "Discussion" meetings will be highly interactive discussions centered on the required readings.

Please be sure to read the assigned paper before class. Most papers link into the ACM or IEEE library - you can sign in to those services using your Northeastern login (select "Sign in with institutional credentials" and then select Northeastern). Note that for the ACM library, you can create an ACM account and then link it to your Northeastern ID ("My Profile" -> "Institutional Affiliations") so that you can stay logged in and not need to go through Duo every time that you would like to read a paper.