1. Actividad Investigadora 1.A
Total Page:16
File Type:pdf, Size:1020Kb
1. ACTIVIDAD INVESTIGADORA 1.A. CALIDAD Y DIFUSIÓN DE RESULTADOS DE LA ACTIVIDAD INVESTIGADORA 1.A.1. PUBLICACIONES CIENTÍFICAS INDEXADAS DE ACUERDO CON UN ÍNDICE DE CALIDAD RELATIVO ..................mm .. .........e........ I Computer Science Classes In 1993, the Jesus M. ConxirlmBarahona, Pedro delaeHeras-Quiibs,Jose Centeno&mhIez, authors began us- Vicente Matdhn-Oliverr, and Francisco 1. Ballesteros, ihg]tian CU~OSUniverszty, S~UWZ ing 386BSD to uring 1991 and 1992, the landscape of libre software, and of teach computer science classes at software development in general, was ready for a change. In two Madrid’s Carlos different communities, two very exciting events were taking III University, in place: 386BSD, a libre derivative of the BSD code, was born, and Spain. Seven years Linus Torvalds distributed the first versions of the Linux kernel. Soon after, later, NetBSD and D GNU/Linux are the software community had two libre operating systems at its disposal (for the operating sys- some basic references to online information on libre products and distribu- tems of choice for tion, see the “Online Resources” and “Terminology” sidebars). several of the Uni- versity’s computer In late 1992 at Carlos I11 University, we both GNU/Linux and 386BSD were reason- science teaching were introducing new computer science ably stable platforms. laboratories. studies and planning a distributed systems course. We were looking for a software History of the Unix Lab platform suitable for practical lectures on After a testing period, we established a sta- distributed systems (our practical lectures ble environment that several students helped take place in a computer lab and usually in- us maintain and improve. When the semester volve a programming exercise). Unfortu- started, a small group of around 20 students nately, we couldn’t afford workstations- used 3 86BSD to learn to build client-server we could only share a PC laboratory run- applications. The experiment was a success. ning MS-DOS, used to teach other The students, using the environment, were computer science subjects. Therefore, we productive and fulfilled the goal we had set: were pleased to discover that 386BSD could to build simple RPC-based applications. run on those PCs and already had the com- 386BSD exposed them to a system similar to plete environment we needed for the practi- Unix workstations but at a fraction of the cal lectures. We decided to give the new, ex- cost and with many new features-such as citing libre operating systems a chance- access to source code. 76 IEEE SOFTWARE MavNune 2000 n7~n-7~~qinniffinnn a 7nnn IFFF There are also institutional barriers to libre students the benefits of a lab based on libre software. Many departments within universi- software. ties are reluctant to use or directly oppose libre Both in Carlos I11 University and King Juan software, not on technical grounds, but based Carlos University, we have helped create on their unfamiliarity with the software. Linux users groups, which are a good source Though less common, we also experienced of informal support for both students and problems regarding a lack of support for cer- teachers using libre software. In those groups, tain hardware devices. we can also find well-trained technical staff to Another problem is that finding technical help maintain the lab. staff well trained in the installation and ad- We are very interested in the use of libre ministration of libre software is still not easy. software for teaching computer science and Many of these disadvantages are not di- welcome any comments you have about your rectly related to libre software characteris- experiences in this area. @ tics, but rather to its current situation and perception. Should this situation change in the future, many of these problems will dis- appear or else turn into advantages. Acknowledgments This article, and the experiences it describes, has only been possible thanks to the outstanding work of n October 1999, our team moved to the hundreds of libre software developers. We are very grateful to all of them. King Juan Carlos University, and we have already started implementing the lessons learned at the Carlos I11 University. In References addition, we are exploring the suitability of 1. G.R. Wright and W.R. Stevens, TCPIIP Illustrated, Addi- libre software for teleteaching and for imple- son-Wesley, Reading, Mass., 1995. menting virtual campus facilities. We are also 2. M.K. McKusick et al., The Design and Implementation of the 4.4 BSD Operating System, Addison-Wesley, holding discussions in which we explain to Reading, Mass., 1996. st your company’s Link to career se MayNune 2000 IEEE SOFTWARE 79 The Journal of Systems and Software 79 (2006) 1233–1248 www.elsevier.com/locate/jss Beyond source code: The importance of other artifacts in software development (a case study) Gregorio Robles a,*, Jesus M. Gonzalez-Barahona a, Juan Julian Merelo b a Grupo de Sistemas y Comunicacciones, Departamento de Ingenieria Telematica y Tecnologia Electronica, Universidad Rey Juan Carlos, Tulipan s/n, 28933 Mostoles, Madrid, Spain b Grupo Geneura, Universidad de Granada, Campus Aynadamar, Daniel Saucedo Aranda s/n, 18071 Granada, Spain Received 24 February 2006; accepted 25 February 2006 Available online 21 April 2006 Abstract Current software systems contain increasingly more elements that have not usually been considered in software engineering research and studies. Source artifacts, understood as the source components needed to obtain a binary, ready to use version of a program, comprise in many systems more than just the elements written in a programming language (source code). Especially when we move apart from systems-programming and enter the realm of end-user applications, we find files for documentation, interface specifications, inter- nationalization and localization modules and multimedia data. All of them are source artifacts in the sense that developers work directly with them, and that applications are built automatically using them as input. This paper discusses the differences and relationships between source code (usually written in a programming language) and these other files, by analyzing the KDE software versioning repos- itory (with about 6,800,000 commits and 450,000 files). A comprehensive study of those files, and their evolution in time, is performed, looking for patterns and trying to infer from them the related behaviors of developers with different profiles, from where we conclude that studying those ‘other’ source artifacts can provide a great deal of insight on a software system. Ó 2006 Elsevier Inc. All rights reserved. Keywords: Mining software repositories; Source code analysis; Source code management systems 1. Introduction ization (from now on i18n, short for internationalization and l10n, short for localization1), graphic design, user inter- Software systems have evolved during the last decades face design, writing of technical and end-user documenta- from command-line programs to huge end-user applica- tion and creation of multimedia elements. tions full of graphics and multimedia elements. Besides, a During the software construction process these diverse piece of software has nowadays to be adapted to different elements are handled together, conforming an integral cultural environments (language and notational conven- body that has to be developed, managed and maintained. tions) if it aims to become mainstream. All this has caused Despite this new environment, ‘classical’ source code anal- that software development is an endeavor that is no longer ysis is still focused on the output of the work performed by carried out only by software developers. In many cases it software developers: source code written in a programming has become an activity that requires the coordinated work language. The rest of the elements mentioned above are of several groups, with different backgrounds and that per- form different tasks such as internationalization and local- 1 Internationalization is the process of designing applications so that they can be adapted to various languages and regions without engineering * Corresponding author. Tel.: +34 91 488 81 06; fax: +34 91 664 74 94. changes. Localization is the process of adapting software for a specific E-mail address: [email protected] (G. Robles). region or language by adding locale-specific components and translating URL: http://gsyc.escet.urjc.es/~grex (G. Robles). text. 0164-1212/$ - see front matter Ó 2006 Elsevier Inc. All rights reserved. doi:10.1016/j.jss.2006.02.048 1248 G. Robles et al. / The Journal of Systems and Software 79 (2006) 1233–1248 Massey, B., 2005. Longitudinal analysis of long-timescale Open Source Remote Analysis and Measurement of Software Systems (RAMSS), repository data. In: Proceedings of the International Workshop on Edinburg, Scotland, UK, pp. 51–55. Predictor Models in Software Engineering (PROMISE 2005), St. Robles, G., Amor, J.J., Gonzalez-Barahona, J.M., Herraiz, I., 2005. Louis, MI, USA. Evolution and growth in large libre software projects. In: Proceedings Mockus, A., Votta L.G., 2000. Identifying reasons for software changes of the International Workshop on Principles in Software Evolution, using historic databases. In: Proceedings of the International Confer- Lisbon, Portugal, pp. 165–174. ence on Software Maintenance, San Jose, CA, USA, pp. 120–130. Robles, G., Gonzalez-Barahona, J.M., Herraiz, I., 2005. An empirical Mockus, A., Fielding, R.T., Herbsleb, J.D., 2002. Two case studies of Open approach to software archaeology. In: Poster Proceedings of the Source software development: Apache and Mozilla. ACM Transac- International Conference on Software Maintenance, Budapest, tions on Software Engineering and Methodology 11 (3), 309–346. Hungary, pp. 47–50. Parnas, D.L., 1994. Software aging. In: Proceedings of the International Turski, W.M., 1996. Reference model for smooth growth of software Conference on Software Engineering, Sorrento, Italy, pp. 279–287. systems. IEEE Transactions on Software Engineering 22 (8), 599–600. Purushothaman, R., Perry, D.E., 2005. Toward understanding the Zimmermann, T., Weigerber, P., 2004.