Blog

CMU trivia

Jul 7, 2018. | By: Sophie

To prepare myself for next year’s SCS trivia and to demonstrate my school pride, I set up a one trivia a day challenge for myself. My plan is to continue this until I leave CMU. All the trivias will be related to CMU or Computer Science in general. This year’s SCS trivia night made me realize how little I know about female computer scientist, so I will focus more on this part.

I learned many of Computer Science related trivia from “Great Moments in Computing”, a great course offered at Princeton University taught by Professor Maragret Martonosi. Many CMU related trivias are learned by wandering in campus during work breaks. If you spot any mistakes in this post, please email me: hsqq at cmu dot edu

Hello, world!

March 23, 2018

Let the first trivia be our most familiar program, hello world.

Dr. Dennis Ritchie developed the language C, which he used to implement the operating system Unix with Ken Thompson. To educate people how to use C, Dr. Brian Kernighan wrote the textbook The C Programming Language and used the program hello world as an introductory example. This was the first apperance of the hello world program. Ever since then, most beginners’ first program in many languages have been some variation of:

main()

{

  printf("hello, world\n");

}

Dr. Brian Kernighan is now a professor at Princeton University.

MULTICS

March 24, 2018

Now I want to talk about Unix, the operating system developed with C. But before I can get to Unix itself, I want to briefly introduce its predecessor, MULTICS.

Before Unix, there was an operating system called MULTICS(Multiplexed Information and Computing Service), developed by MIT, GE, and Bell Lab and released in 1969. You can read the original paper here: Virtual Memory, Processes, and Sharing in MULTICS by Robert C. Daley and Jack B. Dennis. The main concepts introduced with MULTICS are Proccess and Address space. Quoting from the paper:

Processes stand in one-to-one correspondence with virtual memories. Each process runs in its own address space, which is established independently of other address spaces. Processes are run on a processor at the discretion of the traffic controller module of the supervisor.

These concepts are still prevalent today.

UNIX

March 25, 2018

Finally, UNIX.

The name UNIX stands for Uniplexed Infromation and Computing Service and it was suggested by Dr. Brian Kernighan in 1970. It was developed by Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas Mcllroy, and Joe Ossanna at Bell Labs. The design of UNIX is summarized in The UNIX Time-Sharing System and published in 1974, 6 years after MULTICS. I highly recommend reading this paper for it is a well-written paper and you will be able to understand how clever the system was designed so that its essence has not varied too much since its birth.

The 1974 version of UNIX contained only 11K lines of code for the kernel (for your reference, 2017 Linux kernel 4.1.38 contains ~5.4M lines of code). One of the biggest difference between MULTICS and UNIX is that data on MULTICS are stored in address, which allows random access, whereas in UNIX, data are stored in file, which is an abstraction that allows user to handle hardware, directories, and normal files in the same way be it random or sequential access.

Dr. Dennis Ritchie and Ken Thompson won Turing Award in 1983.

Alan Turing

March 26, 2018

Starting from today, I would like to talk about Turing Award, the most prestigious award in the field of Computer Science. But before I introduce any of Turing Award Winner, let me first talk about Alan M. Turing.

Dr. Turing received his Ph.D. from Princeton, where he spent only two years. Unlike some people who drop out from grad college after two years, Dr. Turing had earned his Ph.D. within those two years. One of Turing’s most famous contributions should be his Turing test, which he originally called “the imitation game” introduced in his paper MIND a quarterly review of psychology and philosophy in 1950, only 4 years after the birth of ENIAC. Turing is also known for his lambda calculus, co-developed with his Ph.D. advisor Alonzo Church, and Turing Machine.

Turing Award at CMU

A quick trivia.

Alan Perlis, 1966.

March 27, 2018

I was going to say that before I introduce Turing Award winners from the earliest to the most recent, I would like to priotize those were or still are related to CMU. However, I just learned that the first Turing Award winner was the first head of our Computer Science Department at CMU, Alan Perlis!

Dr. Perlis made incredible amount of contribution to the field of computer science. He participated in the designing and building of some of the earliest electrical computers. He also helped design IBM 650. Together with Simon and Newell, he defined the term “computer science” to be “the theory and design of computers.” In 1961, he taught the first freshman-level computer science course in the nation at Carnegie Tech, which later merged with Mellon Institute to form CMU. In 1965, Computer Science Department was esablished and he became the first head.

Allen Newell and Herbert Simon, 1975.

March 28, 2018

Herbert Alexander Simon was a professor in Political Science. His insight of human decision making lead to his development of heuristic programming. Dr. Simon’s research interests are AI, simulation, software design, and HCI, all of which are still CMU’s strongest fields. Dr. Simon also won the Nobel Prize in Economics.

Dr. Newell earned his Ph.D. degree at CMU Tepper School advised by Dr. Simon. Together with his advisor Dr. Simon, they worked on heuristic programming and created the first AI program, Logic Theorist. He spent a year at Princeton where he worked on game theory which influenced his later work.

Newell, Simon, and Perlis created Computer Science Department together in 1965. The building, Newell Simon Hall, for Human Computer Interaction Institute and Robotics Institute is named after Dr. Newell and Dr. Simon.

Dana Stewart Scott and Michael O. Rabin, 1976.

March 29, 2018

Dr. Scott and Dr. Rabin jointly developed the idea of nondeterministic machines in the paper “Finite Automata and Their Decision Problem”.

Dr. Scott earned his BA at Berkeley and his Ph.D. at Princeton. After jumping around multiple top universities, in 1981, he came to CMU and became a professor of Computer Science, Mathematical Logic, and Philosophy. He took the position of Hillman Professor of Computer Science. Dr. Scott is also famous for his contribution to computer programming language analysis.

Dr. Rabin also earned his Ph.D. at Princeton in Mathematics. He is famous for his idea of adding randomness to algorithm. His later work concerns cryptographic problems and helped develop a zero-knowledge proof.

Robert Floyd, 1978.

March 30, 2018

Floyd received his Turing Award “for having a clear influence on methodologies for the creation of efficient and reliable software, and for helping to found the following important subfields of computer science: the theory of parsing, the semantics of programming languages, automatic program verification, automatic program synthesis, and analysis of algorithms.” Floyd did not get a Ph.D. However, he was appointed an associated professor at CMU when he was at the age of 27 and, six years later, became a full professor at Stanford University.

Ivan Sutherland, 1988.

March 31, 2018

Ivan Sutherland earned his Bachelors of Science Degree from CMU, which was Carnegie Institute of Technology back then. After he earned his Master of Science Degree from California Institute of Technology in 1960, he went to MIT where he worked with Dr. Claude Shannon and earned his Ph.D. within 3 years. His Ph.D. thesis “Sketchpad: A Man-machine Graphical Communications System” introduced Sketchpad, the first computer graphics software. Sketchpad was developed on the TX-2, which was one of the first transistor-based computers with core memory. To use the Sketchpad, one needs to hold a lightpen, which, instead of emitting lights as our mouses today, senses lights from the screen and determine the pointing location. The shapes drawn are stored like objects as in the notion of object-oriented programming with the capability of creating multiple identical but distinct copies and modifying each one of them separately. A demo by Dr. Sutherland can be found here: https://www.youtube.com/watch?v=57wj8diYpgY His work is considered to be the

Fun fact: Dr. Claude Shannon was the advisor of Ivan Sutherland and his older brother, Bert Sutherland.

D. Waitzman

April 1, 2018

D. Waitzman won some award (whatever it is) for his contribution in IP over Avian Carriers (IPoAC). It is originally described in A Standard for the Transimission of IP Datagrams on Avian Carriers. This system can in theory achieve 145.6Gbit/s transfer rate but the packet loss can be as high as 55%. Security is another weakness of IPoAC. Therefore, if you are concerned about packet loss and security issues, don’t use this method. Otherwise, it can be one of the fastest way of getting a huge amount of data transferred.

A friend of mine at Princeton once implemented a method that could transfer 1TB data within half an hour with 0 packet loss. He is not a student in computer science. He studies physics and mainly writes code in FORTRAN. His system is also highly secure with 0 information leekage - he drove to his lab and retrieved his hard drive.

Edward Feigenbaum and Raj Reddy, 1994

April 2, 2018

They won Turing Award for their contribution in building large scale AI systems.

Dr. Edward Feigenbaum is known as the father of Expert Systems. Dr. Feigenbaum earned is B.S. in Electrical Engineering at CMU where he took Dr. Simon’s course on Mathematical Models in the Social Sciences and got his first taste of computer science by studying Simon’s manual for IBM 701. After he earned his B.S., he continuted for a Ph.D. at CMU with Dr. Simon on building a model that simulates how human learn nonsense syllables. This model stores data with a decision tree, which he called Discrimiation Net. It is interesting to see how our founders research interests are still carried on by today’s CMU researchers.

Dr. Reddy earned his Ph.D. at Stanford.

Manuel Blum, 1995

April 3, 2018

Dr. Blum is currently a professor at CMU. He won his Turing Award for “his contributions to the foundations of computational complexity theory and its application to cryptography and program checking.” I just checked his website, he recently taught courses on undergraduate complexity theory and intro to cryptography. One of his great contributions is an algorithm that can find the median of a sequence of numbers in linear time. Fun fact: His wife is a distinguished professor at CMU SCS - Lenore Blum. Also, their child, Avrim Blum is also a professor at CMU SCS. What a family business!

Jonh Hennessy and David Patterson, 2018

June 4, 2018

They are introduced today because this year’s award was just announced.

Dr. John L. Hennessy used to be the President of Stanford and Dr. David A. Patterson retired from UC Berkeley. They are both rewarded the Turing Award for their contribution to a systematic, quantitative approch to the design and evaluation of computer architectures. They wrote a very influencial textbook, Computer Architecture: A Quantitative Approach, which is still used today by many computer architecture courses (and I still have a copy of it). I was lucky enough to attend Dr. Patterson’s talk on RISC V at Princeton two years ago - I’m a big fan of RISC.

Edmund Melson Clarke, Allen Emerson, and Joseph Sifakis, 2007

June 5, 2018

They won their Turing Award for “their role in developing Model-Checking into a highly effective verification technology that is widely adopted in the hardware and software industries.” Their work is built upon the idea of temporal logic, introduced by another Turing Award winner, Amir Pnueli. Using temporal logic, one can write a computer software to exhaustivly construct all possible action sequences, thus reliefing designers’ work load on proving the correctness of a system.

Dr. Clarke is a professor at CMU, and Dr. Emerson was his Ph.D. student when he was at Harvard University.

Leslie Gabriel Valiant, 2010

June 6, 2018

Dr. Valiant received his Turing Award for “transformative contributions to the theory of computation, including the theory of probably approximately correct (PAC) learning, the complexity of enumeration and of algebraic computation, and the theory of parallel and distributed computing.” The PAC is a model that considers a learning algorithm that can create a hypothesis from the past experience and use it to make decision in the future with controlled error.

Dr. Valiant was a Visiting Assistant Professor at CMU in 1973-74. He discovered that counting problems can be hard even when the decision problem is simple. This discovery is important to computer science because

Shafi Goldwasser and Silvio Micali, 2012

June 7, 2018

They won the Turing Award for “transformative work that laid the complexity-theoretic foundations for the science of cryptography, and in the process pioneered new methods for efficient verification of mathematical proofs in complexity theory.” They have introduced some very interesting mathematical structures for cryptography, such as pseudorandomness and interactive proofs. One of my favourites is zero-knowledge proof. I always think about it has the story of Ali Baba and the fourty theives. It is all about how Ali Baba can prove that he knows the password to the vault without revealing it (because if the thieves know the password, they don’t need to preserve Ali Baba’s life).

Dr. Goldwasser was an undergrad at CMU. One of the courses that introduced her into the field o theoretical computer science was taught by Dr. Manuel Blum, another Turing Award recipient currently teaching at CMU. She’s the first female Turing Award recipient I have introduced here, but she’s not the first female recipient.

Frances Elizabeth Allen, 2006.

June 8, 2018

She is the first female Turing Award recipient!

She received the Turing Award for her “pioneering contributions to the theory and practice of optimizing compiler techniques that laid the foundation for modern optimizing compilers and automatic parallel execution.” She joined IBM soon after the release of FORTRAN. By teaching FORTRAN, she became interested in how to build compilers. A key advance by her was that instead of representing programs as a sequence of statements in the compiler, they are represented as a mathematical graph that can be used to analyze the hidden properties of the code, so that computed values can be re-used.

Barbara Liskov, 2008.

June 9, 2018

She is the second female Turing Award recipient, who was acknowledged by her “contributions to practical and theoretical foundations of programming language and system design, especially related to data abstraction, fault tolerance, and distributed computing.”

She designed and implemented the CLU programming language, which laid the foundation of object-oriented programming (OOP). One of her major contributions was her Liskov Substitution Principle. Later, she moved on to study distributed systems, including the Byzantine fault tolerance algorithms.

When she applied for Ph.D., she applied to Princeton as well. But Princeton did not admit female student at that time and therefore unfortunately lost an outstanding alumna.

I believe these are all three female Turing Award recipients - Dr. Allen, Dr. Liskov, and Dr. Goldwasser.

[Read More]

STRUDEL Reading Group Updates

May 31, 2018. | By: Sophie

Wednesday, June 27, 2018

Our REU student Courtney volunteered to present the paper Do Programmers Work at Night or During the Weekend (Claes et al., ICSE, 2018). Being a college freshman, Courtney did a wonderful job presenting this paper. There are several different types of visualisation in this paper and we discussed their merits and defects. Hopefully Courtney would find these examples useful when she has to present her work.

Sophie brought a piece of raspberry dark chocolate and a piece of 92% dark chocolate. She presented the chocolate without any lable and left them to her lab mates to figure out.

Wednesday, June 20, 2018

David Widder presented the paper Prevalence of Confusing Code in Software Projects (Gopstein et al., MSR, 2018). I really like this paper especially the confusing code they presented in the paper. Honestly, I think some of them are fun to be kept in the code. They can sift out those who do not have solid background in the C language and keep only experts in the develop team. I do believe that projects like Linux require developers with C knowledge far beyond what one can learn from some online C tutorial or a single semester college course. However, I think it is also necessary to remove confusing code so that more people can get involved in the developing process. After all, more often than not, some pieces of code are excessively confusing, especially we now have the luxury to sacrifice disk space for code clarity.

Davide brought some brownies and Sophie brought some Chinese rice cake for the dragon boat festival.

Wednesday, May 23, 2018

After a few weeks’ practice talks done by several STRUDEL members, Sophie Qiu, yes, her again, presented the paper Newcomers’ Barriers. . . Is That All? An Analysis of Mentors’ and Newcomers’ Barriers in OSS Projects (Balali et al., CSCW, 2018). The paper identified several barriers that mentors are facing in open source software projects. There are many newly found barriers but I think some of them can be combined with or subsumed under some old ones; some need more details or real instances. I think the barriers that they had identified are important. However, I wish to see more practical and concrete solutions.

Wednesday, April 25, 2018

Sophie Qiu presented the freshly baked paper Competence-Confidence Gap: A Threat to Female Developers’ Contribution on GitHub (Wang et al., ICSE, 2018). The authors show that there is a Granger causality between female programmers’ raise of number of followers and their pull requests on GitHub. They claim that this is because the number of followers bridges women’s competence-confidence gap and reassures female programmer that their contribution will be welcomed and valuable. Although this sounds a potential solution to encourage women to make contributions to open source softwares, the paper did not mention how these woemn earned new followers in the first place. The only example vaguely mentioned was that the female programmer looked cute, which is in fact not an acknowledgement of her programming ability.

Wednesday, April 4, 2018

Alan Jaffe presented the paper Program Synthesis from Natural Language Using Recurrent Neural Networks (Lin et al., UW-CSE, 2017). We often say there are two major coding styles: stackoverflow oriented programming and google oriented programming. The point it is making is that all the code we need are written, programmers only need to assemble them to make a executable program. I believe this can be easily replaced by machines and this paper is a proof.

Wednesday, March 28, 2018

Marat Valiet presented the paper Talent vs Luck: the role of randomness in success and failure. This paper is a cool example of using simulation to address real life problems. With a simple design they were able to model different funding policies and their outcome. The paper claims that in some setups with a large influence of luck, strategies based on random choices are more effective than traditional “naively meritocratic” models.

Somehow people had forgotten our good tradition of bringing snacks.

Wednesday, March 21, 2018

Bogdan Vasilescu presented the paper Was my contribution fairly reviewed?” A Framework to Study the Perception of Fairness in Modern Code Reviews (Yang, ICSE, 2018). In the paper, many different aspects of fairness are discussed, which was very inspiring.

Wednesday, Feburary 21, 2018

Jeremy Lacomis presented the paper How to Design a Program Repair Bot? Insights from the Repairnator Project (Urli et al. ICSE 2018).

It is interesting to learn about online program repair bugs. When I was talking with a CMU undergrad at one of KGB’s activity, he was excited to learn that people are working on how to fix bugs automatically since he has some very unpleasant experience with debugging - so do many of us. It would be great if we could have a bug repairing bot with high accuracy in the future. However, as Marat pointed out, when the debugging process can be largely substituted by a robot, that means this language is dying. One example is Assembly. Here’s a quote from Paul Graham about the evolution of programming languages:

“What programmers in a hundred years will be looking for, most of all, is a language where you can throw together an unbelievably inefficient version 1 of a program with the least possible effort. At least, that’s how we’d describe it in present-day terms. What they’ll say is that they want a language that’s easy to program in.

Inefficient software isn’t gross. What’s gross is a language that makes programmers do needless work. Wasting programmer time is the true inefficiency, not wasting machine time. This will become ever more clear as computers get faster.” (source: http://www.paulgraham.com/hundred.html)

Wednesday, Feburary 14, 2018

Jason Yanwen Lin presented the paper Predicting Member Productivity and Withdrawal from Pre-Joining Attachments in Online Production Groups (Yu et al. CSCW 17).

This paper analysed withdrawl from Wikipedia groups using the attachment theories from social psychology. There results show that pre-joining connections are important to online production groups. Speaking from my personal experience, I totally agree with the authors. Especially in online community, when you often interact with people who you don’t konw much personal information, it can be hard to form attachment.

Wednesday, Feburary 7, 2018

Shurui Zhou presented the paper Almost There: A Study on Quasi-Contributors in Open-Source Software Projects (Steinmarcher et al., ICSE 2018).

It was interesting to learn that many people stopped making further contribution on GitHub after their first pull request was rejected. We also felt that there would be many future work worth pursuing. Thanks Shurui’s presentation as well as her snacks.

Since it was Alex’s meeting before he became a professor in Estonia, he also brought some pastries from Gates. We appreciated his intention of getting us fat. We will miss you.

By the way, I think Gates’ blueberry muffin is very nice, as well as banana & nuts in Scott. Nevertheless, no muffin compares to thos in Brown’s Blue Room or banana muffin at Corner Bakery Cafe.

Wednesday, Janurary 14, 2018

David Widder presented the paper Open Source barriers to entry, revisited: A tools perspective (Mendez et al. ICSE 2018).

Professor Margaret Burnett’s team has been studying GitHub’s gender inclusive issues. Since men and women are biologically different statistically, tools should be designed to cater their different ways of thinking and engaging with software. I do not think software developing is an inheritly male dominated task. I believe that getting more women into software developing is a key to gender equality. Yes, I am a feminist.

Davis is very good at baking, but I think he should have given out his delicious brownies at the beginning of his presentation rather than at the end.

Thusday, December 5, 2017

Sophie Qiu presented the paper The influence of visual feedback and gender dynamics on performance, perception and communication strategies in CSCW (Koulouri et al. International Journal of Human-Computer Studies 2017).

This paper shows that while men are statistically better at navigation with help from visual signals, women can use verbal communication to compensate such weakness and achieve the same level of excellency in navitation tasks. GenderMag, which David Widder will present later, is in the same mindset that although men and women are statistically biologically different, well-designed tools can help both of them succeed.

Sophie did not know that green been pie could contain cream so she bought a lot of them. Luckily, she could bring them to Strudel meetings so that everyone can eat them and be merry.

Tuesday, November 28, 2017

Bogdan Vasilescu presented the paper Code Coverage and Postrelease Defects: A Large-Scale Study on Open Source Projects (Kochhar et al. 2017).

This paper shows that code coverage in testing has insignificant correlation with the number of bugs at the project level of a software. Then my question was: how much test would be sufficient if a large software project could never be bug-free?

I do not remember what snack we had during that meeting.

Tuesday, November 21, 2017

Shurui Zhou presented the paper Some from here, some from there: cross-project code reuse in GitHub (Gharehyazie et al., MSR 2017).

This paper reminds me of two most popular ways of coding: Google-oriented coding and stackoverflow-oriented coding. It is expensive to write code from scratch, so understanding how code pieces are cloned across projects is useful.

I do not quite remember the snack but it might be Shurui’s Choco Pie.

Tuesday, November 14, 2017

Alexander Nolte presented the paper Flash Organizations: Crowdsourcing Complex Work by Structuring Crowds As Organizations.

It is a nice paper on how to more effectively form an software developing group. It was good to read some paper on HCI, which I was fascinated in but knew very little about.

Thanks for your cookies, Alex. I guess they came from La Prima Espresso in WEAN.

Tuesday, November 7, 2017

Alan Jaffe presented the paper Automatically Generating Commit Messages from Diffs Using Neural Machine Translation (Jiang et al., ASE 2017).

It is an interesting application of the naturalness of code. I learned a lot about the idea of naturalness of code, as well as the fact that Alan is very good at baking pumpkin pies.

Tuesday, October 31, 2017

No meeting this week. STRUDEL was away attending ASE in Urbana-Champaign, IL and visiting Fiona at the Cincinnati Zoo. #teamfiona

Tuesday, October 24, 2017

STRUDEL was proud to host Alexander Serebrenik from TU Eindhoven, who talked about his recent work on mining emotions from software engineering artifacts. We were all enjoying his talk as well as Sophie’s hazelnut wafel.

Tuesday, October 17, 2017

Sophie presented the paper Simultaneously Uncovering the Patterns of Brain Regions Involved in Different Story Reading Subprocesses (Wehbe et al., PLoS ONE 2014).

The researchers scanned participants brains while they were reading the ninth chapter of Harry Potter and the Sorcerer’s Stone. They then trained a classifier that can distinguish which short passage the participants were reading based on the neural activity. The choice of this paper was to present group members another machine learning classifier that can process fMRI results. It was very nice and sweet that David made apple raisin strudels.

Tuesday, October 10, 2017

Marat presented the paper Romantic partnerships and the dispersion of social ties: a network analysis of relationship status on facebook (Backstrom et al, CSCW 2014).

This paper proposed to use dispersion, which measures “the extent to which two people’s mutual friends are not themselves well-connected,” in addition to embeddedness, which measures the number of mutural friends, to predict if two Facebook users are in a romantic relationship. The accuracy of prediction increased significantly when using the dispersion metric. Somehow, my impression of the paper smells like homemade banana bread.

Tuesday, October 3, 2017

David presented the paper Automatically Diagnosing and Repairing Error Handling Bugs in C (Tian and Ray, ESEC/FSE 2017).

This paper presents how to identify different types of bugs and how to correct them in C/C++ code. Happy Mid-autumn festival and thanks Sophie for her mooncake!

Tuesday, September 26, 2017

Jeremy presented the paper Decoding the representation of code in the brain: An fMRI study of code review and expertise (Floyd et al, ICSE 2017).

The researchers scanned participants’ brain while they were reviewing code or prose. The findings suggest that reading code differs from reading natural language, but less so for experts than for novices.

Tuesday, September 19, 2017

We had our first reading group meeting today! To celebrate, Bogdan brought apple-cinnamon strudels for us. Nevertheless, these strudles were not as good as our discussion on the paper Fairness Testing: Testing Software for Discrimination (Galhotra et al, ESEC/FSE 2017) that Bogdan presented at the meeting.

[Read More]

Life @ CMU

May 25, 2018. | By: Sophie

Since I came to the Open House in March 2017, I found that CMU is a nerdy but cool space. I’m writing down things I find interesting here. Hope this blog can tell you more about CMU.

May 25, 2018.

Are we suppose to high five whenever we go pass by this sign, like you have to kiss if you stand under a mistletoe??

Each time I see this sign, I always think of the song Super Star by a Taiwanese girls group S.H.E. This is one of the earliest pop songs I heard in my life. Click here to watch the official MV.

May 5, 2018.

I often wander around in GHC when I’m tired of working and I find many interesting things on people’s office doors. For example, the image on the left reminds me of a class at Princeton. We were reading papers on distributed system, and one graph, reproduced on the right, compares existing systems and the one introduced in the paper. Our professor said, “guys, always start your y-axis from 0. I first thought FIFO sucks, but it actually has 25% hit rate.”

May 1, 2018.

CMU students often do some weird things. For example, someone wrote down the Chinese poem A Moonlit Night on the Spring River on Pausch Bridge (image on the left). Or, someone moved their monitors out to work in the corridor. Inspired by this, now I often bring my mechanical keyboard to work in Gates where sunlight is abundant.

Apr 20, 2018.

CMU’s spring carnival should be very nerdy and CS. Therefore, we have a mobot competition. I’ve been wondering why there are these ugly lines in front of Wean Hall. Now I know the answer! They are routes for robots to follow!

The task of mobot includes following the white line and going through 13 or 14 arches. Along the way, there are slopes. Some parts of the white lines are painted against light grey ground. Towards the end of the journey, the robot needs to know that it should stick to the path on the right (as shown in the image) because that’s where the arches are placed. Once your robot has pased 3 arches, you are qualified for cash rewards.

One of the teams if formed by a CMU alumni and his son, who had participated in previous year’s mobot already. They made it to the final part but the robot took the wrong route and lost the track.

There are also some college students participating. The robot in the last image is one of the smallest robots I’ve seen so far. I don’t quite understand why he built the robot so small. The obvious drawback is that once it detrails from the track, even just for a tiny bit, it can never find it back, which is what happened to the robot at the competition.

Apr 20, 2018.

Spring carnival!

Apart from those amusement park monsters, there are some benign activities. For example, each student organization built their own exhibition pavalion. Many of them have two floors! There’s one has Harry Potter theme.

Another fun thing to do is to dunk a dean. Each dean from a college sits above a small pool for half an hour waiting for people to dunk them into the water. Some deans wear swimming suits, some wear normal suits, even with ties! However, our own dean, Andrew Moore, being so CS, wore a white t-shirt, a blue shorts, and a pair of orange socks!!! I donated $2 and got 4 balls, two of which hit the red button and sent him down into the water.

Apr 19, 2018.

It will be CMU’s spring carnival tomorrow. Apparantly, CMU somehow magically moved an amusement park to the campus. I usually go into Gates building right after I arrive at campus so I don’t usually see what’s going on on campus greens. Now that I suddenly see these large monsters poped up from nowhere, I have a feeling of distance, as though the neon lights were coming from far, far away. Neon lights often give me a sense of noisiness but this time they seem to be so serene.

Apr 19, 2018.

I’ve had the honour of staying in my department overnight. Nights at CMU are never quiet. You might think it is because of Ph.D. students. No. Ph.D. students usually croach in their own offices; you rarely see them move. It is our cleaning staffs that make the nights colourful! They start cleaning up the building at midnight. When they work, they put a radio in the NSH Perlis Atrium and plays music. I’m not an expert on music genre, so I only know they are not pop music nor classics. Maybe some blues or jazz type of music.

Apr 18, 2018.

Do you know how much coffee we consume each day?! I saw the front desk person filled up the coffee bean tank at around 8am. This photo was taken at 3~4pm. See how much coffee beans had gone!

Apr 10, 2018.

Although I think CMU and I share the same sense of humour, I totally don’t get CMU’s sense of aesthetic. For example, what have they done to the stairs in Wean Hall?!!!?!?! I thought we had a design school?

Well, David had the completely oppsite opinion. He thought this looks like in fairytale. But I don’t see any romance or elegance in it.

This webpage introduces the art piece. This graph helped me understand the rational behind the design:

Don’t you think this looks like gradient fields?

Mar 29, 2018.

Congratulations to Jeremy and Squares Lab whose paper ``COBOLd: Gobblin’ up COBOL bugs for fun and profit’’ has won the Test of Time Positive Record Award (whatever it means) in 12th SIGBOVIK conference at CMU! There work demostrates that by randomly replacing or adding or deleting code from COBOL can make you super rich! By super rich I meant being able to buy a huge island. By a huge island I mean some country in the south hemisphere. Jeremy also gave a wonderful demo at the conference (pic 2). The paper can be found here (page 138-143).

Mar 25, 2018.

A SCS Trivia Night style question: Where was this photo taken?

Mar 19, 2018.

In case of fire, do you use elevator.

Mar 18, 2018.

His heart is at work.

While most people were away last week because of the spring break, this guy sat at the teaching common the entire week. Apparantly, his heart is at work. A typical CMU student.

Mar 14, 2018.

Physicist Stephen Hawking died at the age of 76 on Pie Day

When the east coast was entering pie day, I heard that we lost Professor Stephen Hawking. Pie day is special not only because it is 3.14. It is also Einstein’s birthday. This year, it has also become Hawking’s death date. I still remember, when Professor Hawking’s books were translated into Chinese, TV programs were repeating over and over again that Profssor Hawking was born on the day on which Galileo Galilei died. Maybe great minds are always connected.

Speaking of Professor Hawking’s science, I thought of a comic sticked outside the office of Professor Thomas Ferguson, who helped construct Large Hadron Collider (LHC), in Wean Hall.

Mar 2, 2018.

Harry Potter Shabbat

I was surprised by how often I could spot a Harry Potter related thing on CMU campus. I was even more surprised when I found out that there would be a Harry Potter themed shabbat at Hillel Jewish University Center.

When I arrived at the front desk, there was a “sorting hat” from which you can draw an image of a house’s badge. This “sorting ceremony” decides which table you will sit at. I was “sorted” into Ravenclaw, although I was wearing Gryffindor gears. All three other houses’ tables are quickly filled, except for ours. By the time dinner started, we only had 3 people. The organizer said, “Maybe Ravenclaws are still studying.” That sounds like what CMU students are doing all the time. No wonder most students in our Harry Potter course identify them with Ravenclaw.

I can never forget how delicious their bread was!

And here’s a trivia:

Name a jewish student at Hogwarts.

Feb 14, 2018.

Valentine’s Day @ CMU

My office mate told us if you brought your laptop to the bookstore, they would clean it for free.

People celebrate Valentine’s Day with their valentines. Same here at CMU. However, CMU might have defined valentine slightly differently. It expanded the concept beyond human beings. Apart from your collaborators, people usually interact the most with their valentines. If we count objects as well, one’s laptop is definitely the number 1 valentine of most CMU students.

Feb 9, 2018.

Why are there rice noodles on the roof of Newell Simon Hall

You konw spring is coming when the snow on Newell Simon Hall’s rooftop becomes rice noodle (image on the right).

Image source of the second photos http://img64.foodjx.com/2/20140613/635382652704010391624.jpg

Sep 28, 2017

Computer Science at CMU is not just for boys

You can find interesting things in restrooms! Here’s what I found in girls’ restroom on 5th floor in Gates:

Although it sounds great, I think they should have put it in boys’ restroom or on a public wall. I believe the intention was to encourage women to pursue computer science if that’s what they have been wanted to do. But the point I wanted to make is that women, maybe especially female graduate students, here at CMU are already brave enough to make it this far. We should not only focus on encouraging women, but also educate our male colleagues and build a friendly environment where woment don’t have to be encouraged to pursue their favourite subject. If CMU CS is gender inclusive, women can feel it. We don’t need to be reminded by a sign in a single restroom. If gender inclusiveness is something that CMU CS is proud of, then I wish to see this sign in a public space.

Sep 21, 2017

How to pull an all-nighter in 5 minutes?

Hey, have you pulled an all-nighter? NO?? You were too busy sleeping and forgot to stay awake all night pretending to work hard? Well, when you walk into the classroom, everyone will look like a panda except for you. You will look like an outsider!

Don’t worry. We’ve got you covered. If you go to the girls’ restroom on the 4th floor in Gates, you will see everything you need. Free of charge.

Sep 19, 2017

Happy smiley’s 35’s birthday!

Do you know who invented :-)? Where was :-) first used?

On 19 Sep, 1982, way before the emoji era, Scott Fahlman at CMU decided that people should use :-) for happy feeling and :-( for sad feeling. When they could only communicate through plain text, this was the cleverest idea. Now we have emoji, but I’d say text emoticons are still very useful and efficient. Here’s a list of text emoticons. (^o^)/ (◕‿◕✿)

BTW, do you know why CMU’s computer science ranks 1st? Because we invented bug swatter that can help our students quickly identify bugs so as to accelerate our research progress!

Sep 14, 2017

CMU is hiring!

Job description: clear the steep, overgrown hillside between the Gates Center and Purnell Center for the Arts.

Job compensation: tons of fress leaves!

Do you know who got the job? A group of goats!

For some unknown reasons, there was also a donkey.

Aug 16, 2017

First day in my new office! May the source code be with you!

[Read More]

Infographic: npm badges

Mar 18, 2018. | By: Bogdan

STRUDEL

More details about the research here.

[Read More]

Papers accepted at ICSE, MSR, ICGSE, and ICPC 2018

Mar 18, 2018. | By: Bogdan

Gothenburg, here we come! We have a strong presence at ICSE 2018 and colocated events this year:

  • Asher and Shurui have a paper on badges in npm at ICSE:

Adding Sparkle to Social Coding: An Empirical Study of Repository Badges in the npm Ecosystem

More details about the research here.

  • Alan and Jeremy have a paper on decompilation at ICPC:

Meaningful Variable Names for Decompiled Code: A Machine Translation Approach

  • Asher has a paper on code understandability at MSR:

“Automatically Assessing Code Understandability” Reanalyzed: Combined Metrics Matter

  • David has a paper on CI abandonment at MSR:

I’m Leaving You, Travis: A Continuous Integration Breakup Story

  • Pengcheng, Bowen, and Edgar (Graham’s students) have a paper on mining aligned pairs of code and natural language from Stack Overflow at MSR, and a poster at ICSE:

Learning to Mine Aligned Code and Natural Language Pairs from Stack Overflow

  • Fabio has a paper on mining personality traits for Apache contributors at ICGSE:

On Developers’ Personality in Large-scale Distributed Projects: The Case of the Apache Ecosystem

  • Miguel and Weslley (TU Eindhoven) have a paper on the role of localized Q&A sites, looking at Stack Overflow in Portuguese:

Is Stack Overflow in Portuguese attractive for Brazilian Users?

[Read More]

Paper presented at ASE 2017

Oct 31, 2017. | By: Bogdan

We were at ASE 2017 presenting the paper:

The Impact of Continuous Integration on Other Software Development Practices: A Large-Scale Empirical Study, with Yangyang Zhao, Alexander Serebrenik, Yuming Zhou, and Vladimir Filkov.

More details about the research here. PDF here. Slides here.

[Read More]

Third place for Alan in the SRC!

Sep 8, 2017. | By: Bogdan

Congratulations to Alan who placed third in the ACM Student Research Competition at ESEC/FSE 2017 this year!

Check out his work on suggesting meaningful variable names for decompiled code.

More details about the research here.

[Read More]

Paper accepted at SWAN 2017

Jul 4, 2017. | By: Bogdan

We just had a paper accepted at SWAN 2017!

Timezone and Time-of-Day Variance in GitHub Teams: An Empirical Method and Study, with Prem Devanbu, Pallavi Kudigrama, and Cindy Rubio-González from UC Davis.

One of the coolest parts of the paper is the novel use of circular statistics. Did you know that traditional summary statistics (like the mean) are invalid for circular variables like the clock and angles? Here’s an example of circular histograms showing when people made commits in two GitHub projects. Check out the preprint for more details.

Abstract:

Open source projects based in ecosystems like GitHub seamlessly allow distributed software development. Contributors to some GitHub projects may originate from many different timezones; in others they may all reside in just one timezone. How might this timezone dispersion (or concentration) affect the diurnal distribution of work activity in these projects? In commercial projects, there has been a desire to use top-down management and work allocation to exploit timezone dispersion of project teams, to engender a more round-the-clock work cycle. We focus on GitHub, and explore the relationship between timezone dispersion and work activity dispersion. We find that while time-of-day work activity dispersion is indeed associated strongly with timezone dispersion, it is equally (if not more strongly) affected by project team size.

[Read More]

Paper accepted at ESEC/FSE 2017

Jun 2, 2017. | By: Bogdan

We just had a paper accepted at ESEC/FSE 2017!

Recovering Clear, Natural Identifiers from Obfuscated JavaScript Names, with Casey Casalnuovo and Prem Devanbu from UC Davis.

More details about the research here.

Try out our tool online.

[Read More]

STRUDEL is hosting 3 REU students

May 29, 2017. | By: Bogdan

We are thrilled to announce the arrival of 3 students participating in the Carnegie Mellon 2017 Research Experiences for Undergraduates in Software Engineering:

  • Anita Brown, from Bryn Mawr College
  • Asher Trockman, from University of Evansville
  • Jacob Hoffman, from Carnegie Mellon

Looking forward to a productive summer!

[Read More]

Our new logo is here

May 19, 2017. | By: Bogdan

Thanks to Josh Quicksall’s amazing talents, the STRUDEL lab has a new logo! Can you spot where Josh got his inspiration from?

STRUDEL (Image from: http://lacasapane.ro/en/shop/sour-cherry-strudel/)

[Read More]

Subscribe

Subscribe to this blog via RSS.

Categories

Blog 4

Web-design 1

Reu 1

Announcement 6

Circular statistics 1

Github 1

Cmu 2

Reading-group 1

Recent Posts

Popular Tags

Blog (4) Web-design (1) Reu (1) Announcement (6) Circular statistics (1) Github (1) Cmu (2) Reading-group (1)

Our Pastry Shop

Wean Hall 5115, Institute for Software Research
School of Computer Science, Carnegie Mellon University
5000 Forbes Ave
Pittsburgh, PA, 15213 USA