Review: Languages and Code Quality in GitHub
The study is several years old, but was recently reprinted in the Communications of the ACM. In it, they mined GitHub data for active open source projects, collecting the defect and development rates....
View ArticleThe Importance of Debugging
How do you teach students about debugging? To have The Debugging Mind-Set? Can they reason about possible causes of incorrect behavior? For the past year, I have been revising material to help...
View ArticleConference Attendance SIGCSE 2018
I have just finished attending SIGCSE 2018 in Baltimore. In contrast to my earlier conference attendance, this time I have had higher involvement in its execution. On Wednesday I went to the New...
View ArticleThesis Defense: Systems Support for Intermittent Computing
Today I attended Alexei Colin's thesis defense titled, Systems Support for Intermittent Computing. For small, embedded devices, batteries are expensive / difficult, so energy can be harvested from RF,...
View ArticlePerformance of Atomic Operations on NUMA Systems
It is the end of the semester, so time for posters about student projects. I visited two sessions so far with three more to go. I specifically wanted to highlight the results from one poster. The...
View ArticleReview: Lessons from Building Static Analysis Tools at Google
The Communications of the ACM recently had several development articles, and I found the one on static analysis tools at Google particularly interesting. The article works through how Google went...
View ArticleBook Review: The Art of Application Performance Testing
The Art of Application Performance Testing, covers what it says. The book starts with concepts general to any performance testing, which was interesting to me. Most of the text focuses though on the...
View ArticleRepost: CRA Memo on Best Practices for Engaging Teaching Faculty in Research...
Mark Guzdial noted today that the CRA has prepared its memo about teaching faculty in research departments. For the past two years, I have been going to a CRA event at SIGCSE geared toward preparing...
View ArticleBook Review: Valley of Genius
Valley of Genius is a history of Silicon Valley based on the people who made it. Since the work was based on interviews, I expected that it would read as actual interviews, where the dialog exists...
View ArticleThesis Defense: Responsive Parallel Computation
We can consider parallelism strategies as either competitive (such as pthreads) or cooperative (such as Cilk). Cooperative systems assume that the parallel computation is being equally distributed...
View ArticleIs C low level?
A recent ACM article, C is Not a Low-Level Language, argues that for all of our impressions that C is close to hardware, it is not actually "low-level". The argument is as follows, C was written for...
View ArticleNASA Talk: Making Miracles Happen
Dr. Thomas H. Zurbuchen the Associate Administrator of NASA's Science Mission Directorate gave a talk today about some key lessons he has learned and observed from his years with NASA, as well as years...
View ArticleThesis Defense: Practical Concurrency Testing
Ben Blum defended his dissertation work today on Practical Concurrency Testing. What follows are the notes from that defense. To prove that a program is correct across arbitrary concurrency. There...
View ArticleSeminar Talk: Computer Science Pedagogy - Miranda Parker
This week I have been co-hosting Miranda Parker, from Georgia Tech, as part of our Colloquium on Computer Science Pedagogy. Her work is titled, Barriers to Computing: What Prevents CS for All. The...
View ArticleConference Attendance: SIGCSE 2019 - Day 1.5
Back at SIGCSE again, this one the 50th to be held. Much of my time is spent dashing about and renewing friendships. That said, I made it to several sessions. I've included at least one author and...
View ArticleConference Attendance - SIGCSE 2019 - Day 2.5
Continuing at SIGCSE, here are several more paper talks that I attended on Friday. Most of the value at SIGCSE comes from the friendly conversations with other attendees. From 5-11p, I was in the...
View ArticleTalk: Concurrent Data Structures for Non-Volatile Memory
Today, Michal Friedman, gave a talk on Concurrent Data Structures for Non-Volatile Memory. Future systems will contain non-volatile memory. This is memory that exhibits normal DRAM characteristics,...
View ArticleRepost: Code Smells ... Is concurrency natural?
Writing parallel code is not considered easy, but it can be a natural approach to some problems for novices. When a beginner wants something to happen twice concurrently, the reasonable thing would be...
View ArticlePresentation: The Quest for Energy Proportionality in Mobile & Embedded Systems
This is a summary of the presentation on "The Quest for Energy Proportionality in Mobile & Embedded Systems" by Lin Zhong. We want mobile and other systems to be energy efficient, and particularly...
View ArticleThesis Proposal: Theoretical Foundations for Modern Multiprocessor Hardware
Naama Ben-David gave her proposal this morning on Theoretical Foundations for Modern Multiprocessor Hardware. Is there a theoretical foundation for why exponential backoff is a good design?...
View ArticleRepost: Active Learning is Better even if Students Don't Like It
Active learning is a set of techniques that require the student to take an active role in their learning during lecture. Research strongly supports that students will learn more when the lecture...
View ArticleConference Attendance - MICRO 52 - Day 1
I am in Columbus Ohio for MICRO 52. A third of the attendees drove from other "midwestern" universities, of which I am one. Keynote: Rejuvenating Computer Architecture Research with Open-Source...
View ArticleConference Attendance - MICRO 52 - Day 2/3
This is a rough writing of the notes from the other two keynotes. Keynote Bill Dally on Domain-Specific Accelerators Moore's Law is over. Sequential performance is increasing at 3% per year. And cost...
View ArticleThesis Proposal - Lightweight Preemptable Functions
Sol Boucher presented his thesis proposal today via Zoom. It was well attended and I think many of us are already looking forward to his defense.Lightweight Preemptable Functions (LPF) Function calls...
View ArticleThe Martian, Computer Science, and College
This summer, the school asked professors if they would be interested in leading book discussions with incoming first-year students in Computer Science. I, along with many other professors,...
View Article