Computer Science: can you really prove it?

1.    Introduction

I have always believed science is something that has fundamental concepts and what is often called the fundamental or basic sciences, such as physics or biology. Experts from Michigan State University have identified eight fundamental science principles, which form a new basis for teaching science called 8+1 Science[1]. These eight principles are very general concepts about the earth and nature, but they clearly identify primitive entities one can’t neglect. In other words, these are facts, that A. F. Chalmers presumes “to be the claims about the world that can be directly established by careful, unprejudiced use of the senses”[2]. Since I’m representing Computer Science, which is both theoretical and engineering discipline quite far away from these basic concepts, I would like to present my own understanding of science, which I believe is naturally formed by my experience both in the industry and academia and during 18 years of education. My perception of science is both empirical and rational and is based on a few beliefs: 1) something that previously was unknown or unseen 2) can be formally proved 3) is globally accepted by scientific community 4) provides the basis for future evolution and 5) is valid, sustainable, future-proof and therefore and stays relevant for decades. In modern world, where nothing is more constant than the impermanence, some of the previous definitions sometimes become obsolete or at least disputable. And it is obvious: to achieve something extraordinary and unexpected, usually one has to negate statements that were considered a ground truth for many years and go beyond rules and traditions.

To stand up and object can very challenging and I believe this fear comes from the early years when I was taught the importance of existing rules with no option of breaking them and the only existing truth with all existing inventions begin natural derivatives from it. Even if you are brave enough to contradict, you still have to defend your ideas. Although general defense mechanisms are common to most fields of science, traditionally each field has its generally accepted rules and a unique scientific context. What makes Computer Science special is its short history as a formal academic discipline[3] but vast contribution to the human technological progress and the speed of advancements within the field.

In this essay I will elaborate on hypotheses that a lot of research in Computer Science is being done on proprietary infrastructures and popular products, which I call hypes and provide some arguments on why only a few research activities in Computer Science are indeed fundamental concepts and the others are usually created around the technology itself. In this essay I will also try to discuss whether the absence of common sense in Computer Science might be actually coming from the early education.

2.    Learning science from theses and defenses

After finishing my master studies, for a few years I have been involved in supervising bachelor and master students in Computer Science writing their thesis. A topic selection, writing process and thesis defense were constrained by both formal and informal rules. Especially during the master theses defense there were two typical questions coming from the committee: where do you find the science in your thesis and what is unique in your research?  One of my own intermediate thesis defenses ended up with the question what a scientific paper is followed by the answer from the asker himself: it is a paper that cites other scientific papers. Such questions are a common practice to check student’s overall knowledge and understanding. Yet, I find them very fundamental and hard to fulfill for anyone who is or pretends to be a computer scientist. And in fact, these requirements should be common for most of the other disciplines too, since there is a belief that modern science “includes not only methods of pursuing knowledge about the world, but also a social system for critically examining and testing findings and theories (particularly, in scientific forums such as meetings and journals)”.[4]

Years of my academic experience showed that a thesis was typically considered scientific if one of the following was met: a) problems addressed are currently relevant, e.g. electronic signature, b) seriously looking subject that nobody could really understand, c) hypes, such as web 2.0 framework or Online Social Networks and d) something fundamental from math’s, e.g. modal logic system s4. Stepping away from students’ defenses into the international scientific community around Computer Science, evaluation criteria provided by the most of the scientific journals and conferences are no doubt more obvious and objective. However, even the most prestigious conferences accept papers on hot topics (did you know that your Google+ circles can be explained by the attachment theory[5]?) as well as the ones with large datasets – not because of something that is new or unique, but because it is attractive. Variety is of course a good thing, but troubles begin when something published in X journal we automatically start calling a science. Having so much of artificial, pushed or produced science around us becomes crucial to be able to critically evaluate and filter. Isn’t it what we should actually educate students? “If one of the major purposes of schooling is to help students develop an understanding of the various subject matters deemed important by a society, such as mathematics and science, then the definition of ‘understanding’ is important to examine as a way of viewing each discipline intended for schooling…”[1]

During the moments I was asked about the uniqueness of my thesis, spontaneous reply to answer with was: no one has done it before. And this answer is actually a perfectly valid as long as you are sure you are the one. Since I fall to the category of people who tend to doubt in whatever they do, it also means that I naturally hesitate whenever I make an important statement. In Computer Science, not only a scientific papers matter, but so do mailing lists, blog posts, protocol documentations and so on. It means that before making any observation practically you have to crawl the whole Internet followed by the feeling that you could had still missed something. How many lines of text can you compose writing in a way like this?

3.    Open research on top of closed proprietary

I do work in the Resilient Networks project with an aim to address robustness in mobile broadband networks and define measurement metrics to assess different characteristics of the mobile Internet. Within last two decades mobile networks grew and advanced rapidly and according to the recent forecasts, global mobile data traffic will increase 18-fold between 2011 and 2016[6]. This naturally forms a huge community around it of consumers, market players, and, most importantly, researchers. While research groups are usually open in terms of sharing the findings with the community and collaborating with universities and other scientific institutions at the international level, openness is not common among device and network vendors, mobile operators and software development companies. Even though Open Source software development models and other open initiatives remains a popular choice by the players to attract more members from the community, in almost all cases there is a business around them. Many modern mobile devices and networks are now able to talk in standardized, open or widely accepted protocols and languages to provide users integration and sharing features. However, different manufacturers implement standards differently or at least the implementation details are not accessible by general public. Partially closed environment poses interesting challenges for researchers who often have to either figure out the details themselves or leave them uncovered.

One of the activities of Resilient Networks project I’m working on is to deploy several hundreds of small computers all over the Norway and run continuous measurements using all available Norwegian mobile broadband networks. Each node is equipped with four 3G[7] USB[8] modems and one standalone CDMA[9] modem to be able to run measurements on all mobile networks simultaneously. During the last half of the year together with our team members we have put a lot of efforts on both choosing the right board (mini-computer, preferably of affordable price and small size) and type of modems to use. One of our motivations was to choose a modem that is available in outlets for the end-users and therefore lets us to assess measurements from the user’s perspective. At the same time we did some trial measurements of latency (the time it takes for IP[10] packet to travel to the destination and back) and tried to explain our first observations. Those were primarily based on our previous experience and we usually tried to state whether we have seen similar behavior (in terms of RTT[11], time of the day, IP packet size, etc.) or not. If it was something uncommon, we tended to explain it either by something that was changed by an affected mobile broadband network or we called it something strange. We also tried to support our observations based on others’ work in this area and to pinpoint ourselves one or another unique feature of cellular networks as a possible candidate which might have been causing one or another anomaly.

Interestingly, but the described research method, if I can call it so, is perfectly valid as long as the paper does not aim to reveal some physical characteristics, but rather mimic a user’s behavior (which can be also relevant to use-cases in a M2M[12] environment) and show the difference of robustness related parameters in different mobile networks. In other words, observations themselves are considered sufficient enough to share with the community. And in fact it is usually of a high value – once we shared our results with one of the mobile operators, based on our observations the operator made some improvements and our repeated measurements showed significantly better results. This is also a good example of collaboration which important for every scientist: to be visible and influence the changes. But how far can you go by only stating how do things work, without being able to explain – why?

I came for PhD from the industry and therefore practical things we always very important to me. When I leave one or another system or element untouched (i.e. without trying to figure out how it really works, what function it does and how it influences other systems), it was often the case for me I need to come back to it over and over again. In fact, I don’t claim that you need or actually can be an expert of every small piece of the whole infrastructure, but once you know the principles, you also can identify the likely culprit while you try to solve a particular problem. I also believe it is the cognitive joy that drives me towards this deeper investigation and makes me ambitious to come to an essence. It is of course hard to define what the essence is, but from my naïve understanding it is a sort of a starting point that lets you make all your further observations more reasonable.

Returning back to our trial measurements of mobile broadband networks, we were able to back them up with useful information we’ve extracted from the modem during the measurements. The method to obtain such information was previously unknown to us and we have realized that only a very few research groups actually used it to justify their results. The data that we got from the modem also gave us new insights and directions to investigate further. I shall now probably question whether the observations purely based on measurement data and empirical validity are of equal value compared to the facts that are supported by contextual information extracted from the modem. Obviously, the evaluation highly depends on the audience and its expectations, but once explained, observations can no longer be questioned. I find it as a very important aspect of previously mentioned starting point, which enables further advancement.

While it were the modems embedded with a chipset of the particular vendor and containing so called diagnostic mode that helped to extract additional contextual information, there are many more tiers which remain to be analyzed. Cellular networks, including their core and radio parts consist of equipment manufactured by usually one or two vendors, such as Ericsson, Nokia-Siemens and Huawei. Different parts of the infrastructure, such as radio network controllers are configured and adjusted to work with particular environments and the details of configuration parameters are rarely shared with the community. Surprisingly, revealing these details using different probing techniques is also considered a research, which forms a clear boundary between the industry and the scientific community – due to the absence of collaboration efforts it became a norm to do a research which basically tries to disclose the parameters of a particular system.

4.    The unstable hypes

As the information technology industry follows the trends, so the computer scientists do. The reasons can vary, but the most obvious I could think of it the fact that if one product attracts millions of users it is presumed to be interesting for the scientific community as well. In other words, research is going around and trying to catch-up the industry on many popular technologies or solutions, such as smart phones and tablets, mobile apps, social networks, just to name a few. For example, Microsoft Academic Search[13] shows that Social Network, Mobile Device, Next Generation, Cloud Computing are among top 200 keywords in the Computer Science within last five years.

On one hand the interest from the scientific community might be beneficial for the industry, since scientists might have a deeper insight and provide useful inputs, which can lead to future improvements. On the other hand, such interest might look superficial, especially when it comes to commercial closed source products. For example, Estonian guys created Skype within months back in 2003 with proprietary protocol[14], but researchers continue to analyze the application and reverse-engineer the protocol (which is evolving) and “produce” a science out of it until now. It raises very interesting questions. Whom could they cite? Is a commercial application created a few years ago is sufficient enough to be a part of scientific research? Who can guarantee that in v7.0 Skype won’t introduce completely different VoIP[15] protocol, so that all previous research papers will become obsolete?

Another interesting trend is to incorporate the research on a popular phenomenon into a more generic Computer Science related field. For example, this year’s Internet Measurement Conference (IMC2012) had a separate section dedicate for the evolution of Online Social Networks[16] which, taking a generalized approach, is just one of many web pages with large communities around in the Internet and normally I wouldn’t expect them to fall into the context of Internet measurements.

Lastly it is worth noting that a great variety of redundant efforts exist in order to research a system, which the researches do not have access to. For example, in the same IMC2012 conference there was a paper on exploring the Google+ Social Graph and data was collected by crawling “more than 27,556,390 user profiles and 575,141,097 relationship links among users, as well as any publicly available data about the users such as gender, geo-location, and relationship status”[17]. It is of course a respectable effort to collect such large dataset externally, but it would take only hours for a Google employee to extract the same data from the database.

5.    Back to school

It is no doubt that a common sense plays very important role in every scientific discipline, including the Computer Science. The more common sense academia, research and industry communities have, the better are research results. It is also obvious that common sense does not necessarily mean one single true and one could hardly come up with the solution without compromises. I believe three main factors that create some diversity in this common sense. First one is the fragmentation and variety of the technology – having so many options to do the same thing creates frustration for many people. Second factor I would call the awareness of an individual and willingness get into details which sometimes is restricted by the proprietary hardware or software. The third and in my opinion the most important one is something which I call education by profession. I will try to explain it by the fact that in most of the countries within past few years a number of students choosing the Computer Science are decreasing. When I was admitted to Informatics in Vilnius University in 2001, admittance level was increased from 70 to 350 students. For a few years it remained similar, while after an ongoing reform of the educational system number of students started decreasing. It was kind of phenomenon, since the demand of software engineers and other experts in IT was constantly increasing and it still remains high. Why did students choose other fields, especially social sciences, while they were ensured with a confortable settling for at least a decade?

My nine years in the university, six of which I’ve spend as a student and remaining three as a lecturer make me think there is a general belief among school graduates that Computer Science is something so common to most of us that it is not worth studying as a discipline. People tend to think that if there exists a vast majority of users who actually use computers, mobile phones and technology around it, there is no point of studying Computer Science, since people tend to think that most of the technological attributes are to be considered as given. It is still unclear where such opinion is coming from, but one of the possible explanations can fact that some ten years ago one could hardly afford buying a powerful personal computer or handheld device and therefore it was of limited users that could actually hack the software. Nowadays it has completely changed and despite of the work-force demand in the marked, Computer Science students show lack of motivation and this is already a consequence of the requirements alleviated by the universities for Computer Science students. Stricter admission requirements and a lower number of students admitted contribute to increased quality and a natural competition motivates students.

6.    Conclusion

The industry of Information Technology will continue growing and it will attract more and more computer scientists. Taking into account the speed of innovation and overall advancement in the technology it would by odd to say that Computer Science will mature as a discipline within an upcoming decade and every paper will really prove something. But an increased level of common sense, more open technology and less hyped, motivated students and the general awareness is the very important criteria towards creating a higher quality in Computer Science and making it more fundamental.

This essay was submitted for the MNSES9100 (Science, ethics and society) course at UiO (Fall 2012).


[1] Schmidt, W. et al. Towards Coherence in Science Instruction: A Framework for Science Literacy. Michigan State University. October 2011.

[2] Chalmers, A. What is this thing called science? 3rd. Edition. Open University Press. 1999.

[3] Davis, G.B., 2006, in IFIP International Federation for Information Processing, Volume 214, The Past and Future of  Information Systems: 1976-2006 and Beyond, eds. Avison, D., Elliot, S., Krogstie, J., Pries-Heje, J., (Boston: Springer),  pp. 11-25.

[4] Lang, G. Why science did not develop in China: a historical comparison with Europe. In China News Digest (CND), June 19, 1998.

[5] Gong, N.Z., et al. 2012. Evolution of social-attribute networks: measurements, modeling, and implications using Google+. In Proceedings of the 2012 ACM conference on Internet measurement conference (IMC ’12). ACM, New York, NY, USA, 131-144.

[6] Cisco Visual Networking Index: Global Mobile Data Traffic Forecast Update, 2011–2016. Cisco, 2012.

[7] 3G, short for third Generation, is a term used to represent the 3rd generation of mobile telecommunications technology.

[8] Universal Serial Bus (USB) is an industry standard that defines the cables, connectors and communications protocols used in a bus for connection, communication and power supply between computers and electronic devices.

[9] Code division multiple access (CDMA) is a channel access method used by various radio communication technologies.

[10] Internet Protocol

[11] Round-trip time (RTT) is the length of time it takes for a signal to be sent plus the length of time it takes for an acknowledgment of that signal to be received.

[12] Machine to machine (M2M) refers to technologies that allow both wireless and wired systems to communicate with other devices of the same ability.

[13] http://academic.research.microsoft.com/

[14] Huang, T.Y., Huang, P., Chen, K.T., Wang, P.J.: Can Skype be more satisfying? A QoE-centric study of the FEC mechanism in the internet-scale VoIP system. IEEE Network (2010).

[15] Voice over IP (VoIP, or voice over Internet Protocol) commonly refers to the communication protocols, technologies, methodologies, and transmission techniques involved in the delivery of voice communications and multimedia sessions over Internet Protocol (IP) networks, such as the Internet.

[16] http://www-net.cs.umass.edu/imc2012/program.htm

[17] Magno, G., Comarela G., Trumper D., S., Cha M., Almeida V. New Kid on the Block: Exploring the Google+ Social Graph. Usenix/ACM SIGCOMM Internet Measurement Conference (IMC’12).

Komentarai

Populiarūs šio tinklaraščio įrašai

Salomėjos Nėries sąsiuvinio beieškant: (ne)patikrinti faktai apie Oksfordą ir kunigą Juozą Gustą

Dėl galimybės prisidėti prie kritinės infrastruktūros Lietuvoje