My First Real Publication

4 min read

Yay! My first (co-authored) scientific paper has just been accepted to ECOOP, so now I can proudly call myself a computer scientist in the full sense of the title. The conference is one of the best in the field of programming languages, as well as overall in computer science, so it is very cool to be accepted there in my first real try to publish a paper.

The conference will be held in Vienna, in September, and as a fan of classical music, I am very excited to visit the city; I will probably buy a ticket to a concert performed on one of the days of the conference by the Wiener Symphoniker. It happens to be the first piano concerto by Tchaikovsky, which I remember quite vividly listening to in Moscow together with my godfather; it should be interesting to compare the performances. Also, of course, I plan to enjoy all the other stereotypically Viennese things, such as nice coffee, schnitzel, strudel, waffles and the rest.

As for the paper itself, it is a theoretical work about correctness of systems distributed across multiple computers. Particularly, it presents a quite general definition of failure transparency, which enables to reason about a system as if no failures happen in it at all; as well as proves it for a novel formal model of Apache Flink, a popular system for organizing distributed computations; the rest of the details are available right now in the technical report. To promote the paper a bit, here are some cool testimonials from the reviewers (huge thanks to them!):

The formal system is cleanly and elegantly developed.

I enjoyed reading this theory-meets-practice paper. It serves as a good example on why PL is important in systems research.

The particular way that failure transparency is captured by this paper is thought-provoking.

As a fun fact, the paper initially was mistakenly shown as fully accepted, and only three days before the submission of a camera-ready version of the paper we (the authors) were informed that it is conditionally accepted, and we need to make some changes to the paper. Fortunately, we made the changes related to the problems identified by the reviewers anyway, as we cared to make it as good as possible. The moral of the story: it is nice to care about a paper even if it appears to be accepted.

The work is a result of a year and a half of work, plus my previous thoughts on formal reasoning about programming languages helped me to do this work the way it is done. Not all the ideas developed during the work ended up in the paper, but I think it helps the paper a lot to be more focused and clear. I worked together with Jonas Spenger on the paper (and we make a special note that our contribution to the paper is equal), and we have discussed some possible follow-up papers which would use more of the developed ideas.

I am deeply grateful to my co-authors, namely Jonas, Paris Carbone and Philipp Haller. It was a pleasure to work with you! I enjoyed writing the paper, and I think it was an exciting and very fun experience; a bit stressful one, but I tend to enjoy certain levels of stress. We had a lot of discussions, and throughout the work everyone stayed positive and supportive. I think I learned a lot during the work, both in terms of doing computer science and the computer science itself. Thank you!

To conclude, I am very happy to have this paper accepted, and I am looking forward to the conference and the trip to Vienna, as well as to future work in computer science.


P.S. I would like to later write one or two more detailed, behind-the-scenes notes about the paper’s content, as well as about the process of writing it. I think that while scientific publications are nice for presenting the results efficiently, it can also be helpful to know a bit more about the process itself. In other words, while a usual scientific paper is very nice at presenting what was done, it doesn’t show that much of the how and why. I lacked this type of information while writing the paper, so I think it would be nice to provide it for someone else who might be in a similar situation. Plus, it should be a helpful reflection for me.