Software metrics for open source systems. Niklas Kurkisuo, Emil Sommarstöm, 25697
|
|
- Alexandrina Alexander
- 6 years ago
- Views:
Transcription
1 Software metrics for open source systems Niklas Kurkisuo, Emil Sommarstöm, 25697
2 Contents Introduction 1 Open Source Software Development 1.1 Open Source Development advantages/disadvantages 1.2 Evolution of OSD Systems 2 The Linux Operating System Kernel 2.1Observation on the system growth of the Linux kernel 3 Conclusion 4 Open Source Metric tools 4.1 Excuberant Ctag 4.2 CCCC 5 References Introduction In this paper we will discuss metrics and development of open source systems and how they differ from traditional in house system development and traditional metrics. We will focus on the Linux kernel but we will also make comparisons to other open source systems as FreeBSD. We chose the Linux kernel because of its size and wide spread use and also because the Linux kernel has displayed a steady growth over the past years. Problem with open source systems is that there are usually many authors and there are no real development plan and usually no extensive testing plan. Because of this metrics are not always used as extensively as in traditional system development. We will also look at some open source tools that can bee used to gather different metrics.
3 1 Open Source Software Development Software development for open source systems differs from traditional system development. The single most important requirement of an open source software system is that its source code must be freely available to anyone. So he/she can do what they want with the code for their own purposes. We have to different types of open source software (OSS) development. The first type is similar to the corporation style or in-house. The software is made by the staff of the project and later released as open source. Examples of this include the Netscape web browser (Mozilla). The other type is when a person or group starts a project and then let anybody who wants too contribute to the project. Or in other words, the project is open source from the beginning. Usually, such a project begins with a single developer who has a personal goal or vision. Typically, that person will begin work on their system either from scratch or by using other open source projects. For example Linux started with a version of the Minix operating system. The later of these two is the one that we are interested in, because it is the one that can be viewed as a genuine open source system. 1.1 Open Source Development advantages/disadvantages When the author is ready to invite others into the project he/she makes the code base available to others and development proceeds. Anyone may contribute towards the development of the system, but the originator/ owner is free to decide which contributions may or may not become part of the official release. The open source development (OSD) model is different from traditional in-house commercial development processes in several fundamental ways. Commercial projects usually have a goal that is set and a dead-line in which to complete the product, as when an open source project developer might only work on the project when he feels like it. Also when it comes to open source the contributors or the programmers do what they want, i.e. what the are interested in, and therefore the result might not always be what the author wants. In the same fashion it is not so easy to use any metrics for a open source project, when the contributors/developers might not be interested in testing, code restructuring or in the quality of there code, many times so long as it works describes the quality of the code, especially for uninteresting modules. The reason to this is that the contributor works on his/her free time and might not bee interested in these tasks, because they are not as exciting as writing new code. Open source projects does not have the same pressure on their time tables or scheduling. This might seem to be a disadvantage but in this way the software quality is not affected by time pressure. The developer can release the software when he/she thinks it is ready. Even when code quality and standards may vary, since code is contributed by many contributors, the developer does not need to use that code. Code quality is maintained largely by massively parallel debugging (i.e., many developers each using each other s code) rather than by systematic testing or other planned, prescriptive approaches although many projects do have official guidelines.
4 Unstable code is common, as developers are eager to submit their newest contributions to the project. Some OSD projects, including Linux, address this issue by maintaining two concurrent development paths: a development release path contains new or experimental features and a stable release contains mostly updates and bug fixes relative to the previous stable release. And when some of the features are proven stable or mature they are migrated into the stable release. FreeBsd differs from Linux in the way the handle contributions. Linux accepts code into its releases quite freely when FreeBsd subjects its contributions to much more stringent testing by the core development team. FreeBsds development plan has much of the qualities found in a in house project because of this. As a result of this FreeBsd tends to support fewer devices and development proceeds much slower than on Linux. 1.2 Evolution of OSD Systems We have been examining the growth and evolution patterns of OSD projects to see how they compare to previous studies on the evolution of large proprietary software systems developed using more traditional in-house processes. There are now many large OSD systems that have been in existence for a number of years and have achieved widespread use, including two that we have investigated in some detail: the Linux operating system kernel (2,200,000 lines of code), and the VIM text editor (150,000 lines of code). Naively, we had expected that since evolution of OSD software is usually much less structured and less carefully planned than traditional in-house development that Lehman s laws would apply; that is, as the system grew, the rate of growth would slow, with the system growth approximating an inverse square curve. Indeed, recently the maintainers of the Perl project have undertaken a massive redesign and restructuring of the core system, since the project owners felt that the current system has become almost unmaintainable. However, as we explain below, this is not at all what we found with Linux. 2 The Linux Operating System Kernel Linux is a Unix-like operating system that has gained much support in the last years. Many even thinks Linux might have the power to challenge commercial operating system as Windows and Unix. In many ways Linux has already snapped a large bite of the Unix market share. Even if Windows still dominates the market, Linux and its supporters haven t given up hope of gaining a share of the market. Linux has in the past years gained support from large companies, such as IBM. Linux was originally written by Linus Torvalds, but subsequently worked on by hundreds of other developers. It was originally written for Intel architecture, but since it has been ported to other platforms, such as PowerPc, Sparc and even PDAs. The first official release of the kernel, version 1.0, occurred in March This release contained 487 source code files comprising over 165,000 lines of code, including comments and blank lines. Linux kernel has after that contained of two releases, stable release and a development release, in witch contains experimental and untested code. The stable release contains fixes to the bugs that where found in the development release.
5 Since it s first release the Linux kernel has grown in size, and now contains over 2 million lines of code. 2.1 Observation on the system growth of the Linux kernel We will see from the paper, Evolution in Open Source Software : A Case Study by Michael w. Godfrey and Qiang Tu, how Linux has grown over the years. They measured various aspects of the growth using a variety of tools, see Open Source Metric tools for some of them. With source file we will mean file that ends with.c or.h and appear in the distribution package. Note: when performing a system build additional source files will be generated, these files are ignored. We first examined how the system has grown using several common metrics. For example, Fig. 1 shows the growth in size of the compressed tar files for the full kernel release, and Fig. 2 shows the growth of the number of lines of code (LOC). We also measured the growth of the number of source files and the growth of the number of global functions, variables, and macros; however, we have omitted the graphs for these measurements for the sake of brevity as the growth patterns they show are very similar to those of Fig. 1 and Fig. 2. Figure 1. Growth of the compressed tar file for the full Linux kernel source release.
6 Figure 2. Growth in the number of lines of code measured using two methods: the Unix command wc -l, and an awk script that removes comments and blanks lines. We will now show the growth of major subsystems. Figure 3. Growth of the major subsystems (development releases only).
7 Figure 4. Percentage of total system LOC for each major subsystem (development releases only). From these figures we see that Linux has experience a steady growth under the past years and also that the growth has been greatest in the drivers subsystem. 3 Conclusion The Linux operating system kernel is a very successful example of a large software system in widespread use that has been developed using an open source development (OSD) model. We have seen that Linux has grown over the years using several metrics, and we have found that the system has grown superlinearly. This strong growth rate seems surprising given (a) its large size (over two million lines of code including comments and blank lines), (b) its development model (a highly collaborative and geographically distributed set of developers, many of whom contributing their time and effort for free), and (c) previously published research that suggests that the growth of large software systems tends to slow down as the systems become larger. It seems that open source projects seem to manage without a strict development plan and with a minimal use of metrics. This phenomenon can be explained by enthusiasm that the people have working on the project.
8 4 Open Source Metric tools We will now present some tools that can be used to calculate some metrics. These are all licensed as open source. To count the lines of code you can use the unix command wc l, this gives the raw count of lines of code, including blank spaces and commented lines. There are many scripts available that omits commented lines and blank lines. 4.1 Excuberant Ctag Ctags generates an index (or tag) file of language objects found in source files that allows these items to be quickly and easily located by a text editor or other utility. A tag signifies a language object for which an index entry is available (or, alternatively, the index entry created for that object). Tag generation is supported for the following languages: Assembler, AWK, ASP, BETA, Bourne/Korn/Zsh Shell, C, C++, COBOL, Eiffel, Fortran, Java, Lisp, Lua, Make, Pascal, Perl, PHP, Python, REXX, Ruby, S-Lang, Scheme, Tcl, Vim, and YACC. 4.2 CCCC CCCC is a tool made by Tim Littlefair as a part of his research for his PhD level. CCCC is a tool which analyzes C++ and Java files and generates a report on various metrics of the code. Metrics supported include lines of code, McCabe's complexity and metrics proposed by Chidamber&Kemerer and Henry&Kafura. There are many other free tools that can be used when programming. There are also many commercial options available, but as open source projects usually have a small budget you might want to consider the use of free software. 5 References - Evolution in Open Source Software : A Case Study by Michael w. Godfrey and Qiang Tu - Software Metrics, A rigorous & Practical Approach by Fenton & Pfleeger -
9 This document was created with Win2PDF available at The unregistered version of Win2PDF is for evaluation or non-commercial use only.
Evolution in Open Source Software: A Case Study
Evolution in Open Source Software: A Case Study Michael W. Godfrey and Qiang Tu Software Architecture Group (SWAG) Department of Computer Science, University of Waterloo email: fmigod,qtug@swag.uwaterloo.ca
More information(S)LOC Count Evolution for Selected OSS Projects. Tik Report 315
(S)LOC Count Evolution for Selected OSS Projects Tik Report 315 Arno Wagner arno@wagner.name December 11, 009 Abstract We measure the dynamics in project code size for several large open source projects,
More informationThe Evolution of FreeBSD and Linux
The Evolution of FreeBSD and Linux Clemente Izurieta Department of Computer Science Colorado State University Fort Collins, Colorado, USA 1-97-481-6172 cizuriet@colostate.edu James Bieman Department of
More informationTopics. Operating System. What is an Operating System? Let s Get Started! What is an Operating System? Where in the Book are we?
Topics Operating System What is an OS? OS History OS Concepts OS Structures Introduction Let s Get Started! What is an Operating System? What are some OSes you know? Guess if you are not sure Pick an OS
More informationLinux. What is it? What s good about it? What s bad about it?
Linux What is it? What s good about it? What s bad about it? History Minix by Tanenbaum in late 1980s Linus Torvalds started Linux as a hobby project to improve on Minix First official public version late
More informationTopics. Operating System I. What is an Operating System? Let s Get Started! What is an Operating System? OS History.
Topics Operating System I What is an OS? OS History OS Concepts OS Structures Introduction Let s Get Started! What is an Operating System? What are some OSes you know? Pick an OS you know: What are some
More informationPrinciples in Programming: Orientation & Lecture 1. SWE2004: Principles in Programming Spring 2015 Euiseong Seo
Principles in Programming: Orientation & Lecture 1 1 Course Objectives Introduce various subjects in computer science through puzzles and problems Most problems came from ICPC 2 Introduction Instructor:
More informationPrinciples in Programming: Orientation & Lecture 1. SWE2004: Principles in Programming Spring 2014 Euiseong Seo
Principles in Programming: Orientation & Lecture 1 1 Course Objectives Introduce various subjects in computer science through puzzles and problems Most problems came from ICPC 2 Textbook Programming Challenges
More informationDiscovering Computers Chapter 13 Programming Languages and Program Development
Discovering Computers 2009 Chapter 13 Programming Languages and Program Development Chapter 13 Objectives Differentiate between machine and assembly languages Identify and discuss the purpose of procedural
More informationOpen Source Development
Open Source Development Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar Dr. Chris Walton cdw@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/cdw SEOC2 Spring 2005: Open Source
More informationCNT 5605, Fall 2009: Introduction
, Fall 2009: A practical hands-on approach. We will build new servers and configure them with a variety of packages. Expertise is distributed: system administration happens everywhere from your PC to large
More informationScripted Components: Problem. Scripted Components. Problems with Components. Single-Language Assumption. Dr. James A. Bednar
Scripted Components: Problem Scripted Components Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar (Cf. Reuse-Oriented Development; Sommerville 2004 Chapter 4, 18) A longstanding
More informationScripted Components Dr. James A. Bednar
Scripted Components Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar SAPM Spring 2012: Scripted Components 1 Scripted Components: Problem (Cf. Reuse-Oriented Development;
More informationOverview. Rationale Division of labour between script and C++ Choice of language(s) Interfacing to C++ Performance, memory
SCRIPTING Overview Rationale Division of labour between script and C++ Choice of language(s) Interfacing to C++ Reflection Bindings Serialization Performance, memory Rationale C++ isn't the best choice
More informationHistory of Unix, Linux and the Open Source
History of Unix, Linux and the Open Source 12.2.2012 George Ajam College of Science /Computer Science Dept. DEC PDP 7 History of UNIX 1969: First version of "Unics" by Ken Thompson and Dennis Richie Multi
More informationThe Cathedral and the Bazaar
The Cathedral and the Bazaar This text (including older revisions of it) Described a set of customs among Free Software developers Those customs turned out to be a quite effective development methology
More informationDoes Firefox obey Lehman s Laws of software Evolution?
Does Firefox obey Lehman s Laws of software Evolution? Yan Dong Masters Candidate Department of Management Sciences University of Waterloo Waterloo, ON, Canada y4dong@engmail.uwaterloo.ca Shahab Mohsen
More informationCNT 4603, Spring 2009: Introduction
, : A practical hands-on approach Also higher-level concepts Expertise is distributed: system administration happens everywhere from your PC to large servers, and system administration is generally collaborative.
More informationSoftware Evolution: An Empirical Study of Mozilla Firefox
Software Evolution: An Empirical Study of Mozilla Firefox Anita Ganpati Dr. Arvind Kalia Dr. Hardeep Singh Computer Science Dept. Computer Science Dept. Computer Sci. & Engg. Dept. Himachal Pradesh University,
More informationEveryone who has been involved with IT for more than a few
Introduction to MySQL Everyone who has been involved with IT for more than a few months has at least heard of MySQL. The acquisition of MySQL AB by Sun Microsystems brought a great deal of additional attention
More informationThe Linux Kernel as a Case Study in Software Evolution
The Linux Kernel as a Case Study in Software Evolution Ayelet Israeli Dror G. Feitelson Department of Computer Science The Hebrew University, 9194 Jerusalem, Israel Abstract We use over 8 versions of the
More informationCompilers. Prerequisites
Compilers Prerequisites Data structures & algorithms Linked lists, dictionaries, trees, hash tables Formal languages & automata Regular expressions, finite automata, context-free grammars Machine organization
More informationRoundtable: Shaping the Future of z/os System Programmer Tasks Discussion
Roundtable: Shaping the Future of z/os System Programmer Tasks Discussion Iris Rivera, System z User Experience IBM Poughkeepsie, NY irivera@us.ibm.com Geoffrey Smith, z/os Information Strategy IBM Poughkeepsie,
More informationChapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on
Chapter 2: Operating-System Structures Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 Chapter 2: Operating-System Structures 1. Operating System Services 2. User Operating System
More informationSoftware Maintenance and Evolution
Software Maintenance and Evolution Minsoo Ryu Hanyang University Topics Covered 1. Software Maintenance and Evolution 2. Reverse Engineering 3. Reengineering 2 2 Software Change Software change is inevitable
More informationBOTH the trade press and researchers have examined
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 31, NO. 6, JUNE 2005 481 The FreeBSD Project: A Replication Case Study of Open Source Development Trung T. Dinh-Trong and James M. Bieman, Senior Member,
More informationBuilding a Large, Successful Web Site on a Shoestring: A Decade of Progress
Building a Large, Successful Web Site on a Shoestring: A Decade of Progress Theodore W. Frick Bude Su Yun-Jo An Instructional Systems Technology School of Education Indiana University Bloomington Abstract
More informationDelivering Effective Solutions in the Age of Open Source Technology
Delivering Effective Solutions in the Age of Open Source Technology Edward Beck Computer Sciences Corporation NDIA Systems Engineering Conference October 24-27, 2005 Copyright 2004 Computer Sciences Corporation.
More informationAn Operating System History of Operating Systems. Operating Systems. Autumn CS4023
Operating Systems Autumn 2017-2018 Outline 1 2 What is an Operating System? From the user s point of view an OS is: A program that acts as an intermediary between a user of a computer and the computer
More informationWikis. Wikis. There are two main places where you can access a wiki from within your online course or organization:
A wiki is a website of one or more pages that allows people to add and edit content collectively. This wiki has an easy-to-use editor that lets you quickly add content and style your work. Your wiki starts
More informationChapter 01: Introduction to Linux
True / False 1. Open Source Software (OSS) is freely developed and continuously improved by a large community of software developers ANSWER: True 2. The term hacker refers to someone who illegally uses
More informationIntroducing Computer Programming
ok4 01 f2 5/24/17 9:59 AM Page 3 Chapter 1 Introducing Computer Programming Intended Learning Outcomes After completing this chapter, you should be able to: Explain the difference between computers and
More informationCOSC Software Engineering. Lecture 23: Multilingual and Component Programming
COSC345 2013 Software Engineering Lecture 23: Multilingual and Component Programming Isolation Scale Change Errors These are core issues in Software Engineering Isolation is our main way to deal with them
More informationOutline. Introduction to Programming (in C++) Introduction. First program in C++ Programming examples
Outline Introduction to Programming (in C++) Introduction Programming examples Algorithms, programming languages and computer programs Jordi Cortadella, Ricard Gavaldà, Fernando Orejas Dept. of Computer
More informationOverview. Rationale Division of labour between script and C++ Choice of language(s) Interfacing to C++
Scripting 1 Overview Rationale Division of labour between script and C++ Choice of language(s) Interfacing to C++ Rationale C++ isn't the best choice for all problems Complicated feature set, syntax Low-level,
More informationLinux operating system
Linux operating system libre, free: how and why Dobrica Pavlinušić http://www.rot13.org/~dpavlin/ PBF, 27.03.2008. History Open Source GPL license Don't panic! What is operating system? Linux Open Source
More informationDesign & Implementation Overview
P Fall 2017 Outline P 1 2 3 4 5 6 7 P P Ontological commitments P Imperative l Architecture: Memory cells variables Data movement (memory memory, CPU memory) assignment Sequential machine instruction execution
More informationCompilation I. Hwansoo Han
Compilation I Hwansoo Han Language Groups Imperative von Neumann (Fortran, Pascal, Basic, C) Object-oriented (Smalltalk, Eiffel, C++) Scripting languages (Perl, Python, JavaScript, PHP) Declarative Functional
More informationIntroduction to Engineering Using Robotics Experiments. Dr. Yinong Chen
Introduction to Engineering Using Robotics Experiments Dr. Yinong Chen Outline Historical Perspective Programming Language Generations Programming Language Paradigms Imperative Programming Paradigm Writing
More informationAnalysis of the effects of removing redundant header information in persistent HTTP connections
Analysis of the effects of removing redundant header information in persistent HTTP connections Timothy Bower, Daniel Andresen, David Bacon Department of Computing and Information Sciences 234 Nichols
More informationPrinciples of Programming Languages. Lecture Outline
Principles of Programming Languages CS 492 Lecture 1 Based on Notes by William Albritton 1 Lecture Outline Reasons for studying concepts of programming languages Programming domains Language evaluation
More informationSCASE STUDYS. Migrating from MVS to.net: an Italian Case Study. bizlogica Italy. segui bizlogica
SCASE STUDYS Migrating from MVS to.net: an Italian Case Study bizlogica Italy executive summary This report describes how BIZLOGICA helped a large Corporation to successful reach the objective of saving
More informationGeneral Concepts. Abstraction Computational Paradigms Implementation Application Domains Influence on Success Influences on Design
General Concepts Abstraction Computational Paradigms Implementation Application Domains Influence on Success Influences on Design 1 Abstractions in Programming Languages Abstractions hide details that
More informationChapter 2 Preview. Preview. History of Programming Languages. History of Programming Languages. History of Programming Languages
Chapter 2 Preview Evolution of the Major Programming Languages The Beginnings of Data Abstraction: SIMULA 67 Orthogonal Design: ALGOL 68 Some Early Descendants of the ALGOLs Programming Based on Logic:
More informationChapter 2: Operating-System Structures
Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System
More informationProgramming Language Concepts 1982, 1987, Outline. Period
Programming Language Concepts 1982, 1987, 1997 Mehdi Jazayeri Distributed Systems Group Technische Universität Wien mjazayeri@alum.mit.edu http://www.infosys.tuwien.ac.at Outline Computer science environment
More informationWhat is a programming language?
Overview Introduction Motivation Why study programming languages? Some key concepts What is a programming language? What is a programming language?...there is no agreement on what a programming language
More informationChapter Twelve. Systems Design and Development
Chapter Twelve Systems Design and Development After reading this chapter, you should be able to: Describe the process of designing, programming, and debugging a computer program Explain why there are many
More informationScripting languages work methodology. Tomasz Bold D11 pok. 107
Scripting languages work methodology Tomasz Bold tomasz.bold@fis.agh.edu.pl D11 pok. 107 1 Organisation Lectures & labs one after another Lecure 1 Elementary information: history, applications, methodology.
More informationLecture 1. Introduction to course, Welcome to Engineering, What is Programming and Why is this the first thing being covered in Engineering?
Lecture 1 Introduction to course, Welcome to Engineering, What is Programming and Why is this the first thing being covered in Engineering? Welcome to ENGR 102 Syllabus review Your Time Expectations (in
More informationCOPYRIGHTED MATERIAL. What Is Linux? Linux History. Linux as an Operating System. Linux as Free Software. Commercial Applications for Linux
2915ch01.qxd 04/19/01 12:57 PM Page 3 Linux History C H A P T E R O N E What Is Linux? Linux as an Operating System Linux as Free Software Commercial Applications for Linux COPYRIGHTED MATERIAL 1 2915ch01.qxd
More informationTopic I. Introduction and motivation References: Chapter 1 of Concepts in programming languages by J. C. Mitchell. CUP, 2003.
Topic I Introduction and motivation References: Chapter 1 of Concepts in programming languages by J. C. Mitchell. CUP, 2003. Chapter 1 of Programming languages: Design and implementation (3RD EDITION)
More informationOO Development and Maintenance Complexity. Daniel M. Berry based on a paper by Eliezer Kantorowitz
OO Development and Maintenance Complexity Daniel M. Berry based on a paper by Eliezer Kantorowitz Traditional Complexity Measures Traditionally, Time Complexity Space Complexity Both use theoretical measures,
More informationUsing GitHub to Share with SparkFun a
Using GitHub to Share with SparkFun a learn.sparkfun.com tutorial Available online at: http://sfe.io/t52 Contents Introduction Gitting Started Forking a Repository Committing, Pushing and Pulling Syncing
More informationCode review guide. Notice: Read about the language that you will test its code, if you don t have an idea about the language this will be difficult.
Code review guide Author: Jameel Nabbo Website: www.jameelnabbo.com Table of contents Introduction Code review Checklist Steps to perform on code review task Tips for code review Starting the Code review
More informationCO600 Group Project Magnus Bogucki, Christos Fragiadakis
Department of Computer Science CO600 Group Project E-Pinion An Online Questionnaire Management System Magnus Bogucki BSc (Hons) Computer Science and Business Administraion with a year in Industry, University
More informationChapter 1. Preliminaries
Chapter 1 Preliminaries Chapter 1 Topics Reasons for Studying Concepts of Programming Languages Programming Domains Language Evaluation Criteria Influences on Language Design Language Categories Language
More informationRational Software White paper
Unifying Enterprise Development Teams with the UML Grady Booch Rational Software White paper 1 There is a fundamental paradox at play in contemporary software development. On the one hand, organizations
More informationJavaScript Context. INFO/CSE 100, Spring 2005 Fluency in Information Technology.
JavaScript Context INFO/CSE 100, Spring 2005 Fluency in Information Technology http://www.cs.washington.edu/100 fit100-17-context 2005 University of Washington 1 References Readings and References» Wikipedia
More informationThe Z-Files: Field reports from the world of business critical PHP applications
The Z-Files: Field reports from the world of business critical PHP applications By Axel Schinke Senior Manager of Global Operations for Global Services About this webinar Field reports from Zend Consulting
More informationArchitecture Proposal for an Internet Services Charging Platform
Internal Working Paper Architecture Proposal for an Internet Services Charging Platform John Cushnie Distributed Multimedia Research Group, Lancaster University, UK. E-mail: j.cushnie@lancaster.ac.uk Abstract.
More information1.264 Lecture 3. Time and resource estimation
1.264 Lecture 3 Time and resource estimation Next class: Read chapters 7, 8. Hand in exercise solution after class Form groups for homework. Hand in today s exercises on paper. 1 Choose system implementation
More informationCenter for Systems and Software Engineering University of Southern California. Center for Systems And Software Engineering. UCC v.2011.
Center for Systems And Software Engineering UCC v.2011.10b Release Notes Page 1 of 7 1. Introduction This document provides the release notes for the UCC v.2011.10b. Unified CodeCount (UCC) is a code counting
More informationEvaluating the Evolution of a C Application
Evaluating the Evolution of a C Application Elizabeth Burd, Malcolm Munro Liz.Burd@dur.ac.uk The Centre for Software Maintenance University of Durham South Road Durham, DH1 3LE, UK Abstract This paper
More informationVisualizing the evolution of software using softchange
Visualizing the evolution of software using softchange Daniel M. German, Abram Hindle and Norman Jordan Software Engineering Group Department of Computer Science University of Victoria dmgerman,abez,njordan
More informationChapter 2: System Structures
Chapter 2: Operating System Structures Operating System Services System Calls Chapter 2: System Structures System Programs Operating System Design and Implementation Operating System Structure Virtual
More informationWebsite Design and Development CSCI 311
Website Design and Development CSCI 311 Learning Objectives Understand good practices in designing and developing web sites Learn some of the challenges web design Activity In pairs: describe how you d
More informationLanguages october 22, 2017 Éric Lévénez <http://www.levenez.com/lang/> FORTRAN III end-1958 FORTRAN II FORTRAN I october 1956
1954 1957 FORTRAN november 1954 FORTRAN I october 1956 FORTRAN II 1957 FORTRAN III end-1958 B-O 1957 Flow-Matic 1958 COBOL 1959 JOVIAL 1959 IAL 1958 ALGOL 58 1958 Lisp 1958 Lisp 1 1959 Languages october
More informationComputer Science 4500 Operating Systems. Welcome! In This Module. Module 1 Introduction, Overview and History
Computer Science 4500 Operating Systems Module 1 Introduction, Overview and History Updated: January 13, 2015 2008 Stanley A. Wileman, Jr. Operating Systems Slide 1 Welcome! Welcome to Operating Systems.
More informationComputer Software. c 2016 by David W. Gerbing. School of Business Administration Portland State University
Computer Software c 2016 by David W. Gerbing School of Business Administration Portland State University Computer Software Introduction Operating Systems Application Software Unix Command Line (on a Mac)
More informationVisual Composer Modeling: Migrating Models from 7.1.X to 7.2.0
Visual Composer Modeling: Migrating Models from 7.1.X to 7.2.0 Applies to: Visual Composer for SAP Netweaver Composition Environment (CE) 7.2.0, 7.1.X. Summary This document discusses known issues, following
More informationCounting Software Size: Is It as Easy as Buying A Gallon of Gas?
Counting Software Size: Is It as Easy as Buying A Gallon of Gas? October 22, 2008 NDIA 11 th Annual Systems Engineering Conference Lori Vaughan and Dean Caccavo Northrop Grumman Mission Systems Office
More informationDynamic Languages Toolkit. Presented by Andrey Tarantsov
Dynamic Languages Toolkit Presented by Andrey Tarantsov Dynamic Languages Toolkit Serves as a foundation for scripting and dynamically-typed language IDEs Generalizes JDT code and follows its architecture
More informationEZ-Metrix V User Guide
EZ-Metrix V4.1.0.3 User Guide Table 1 Revision History Date Version Author Reason 5/19/04 0.1 James T. Heires Original 6/24/04 0.2 James T. Heires Demo feedback 7/3/04 0.3 James T. Heires Added support
More informationTESTING TRENDS IN 2016: A SURVEY OF SOFTWARE PROFESSIONALS
WHITE PAPER TESTING TRENDS IN 2016: A SURVEY OF SOFTWARE PROFESSIONALS Today s online environments have created a dramatic new set of challenges for software professionals responsible for the quality of
More informationLEGACY SYSTEMS MODERNIZATION SERVICES.
LEGACY SYSTEMS MODERNIZATION SERVICES www.eratech.com.eg Slide # 1 Feb. 2013 Agenda 1. Modernization of Legacy Systems Why and How? 2. Success Story Central Auditing Organization 3. Introducing Informix
More informationBuilding a Browser for Automotive: Alternatives, Challenges and Recommendations
Building a Browser for Automotive: Alternatives, Challenges and Recommendations Igalia and Webkit/Chromium Open source consultancy founded in 2001 Igalia is Top 5 contributor to upstream WebKit/Chromium
More informationFEATURES EASILY CREATE AND DEPLOY HIGH QUALITY TCL EXECUTABLES TO ANYONE, ANYWHERE
EASILY CREATE AND DEPLOY HIGH QUALITY TCL EXECUTABLES TO ANYONE, ANYWHERE TCL DEV KIT (TDK) INCLUDES EVERYTHING YOU NEED FOR FAST DEVELOPMENT OF SELF-CONTAINED, EASILY-DEPLOYABLE APPLICATIONS. TURN YOUR
More informationCopyright 2005 Department of Computer & Information Science
Introducing Programming Copyright 2005 Goals By the end of this lecture, you should Understand the different types of programming languages. Understand the basic procedures in a program as input, processing
More informationChapter 1: Introduction to Computers and Java
Chapter 1: Introduction to Computers and Java Starting Out with Java: From Control Structures through Objects Fifth Edition by Tony Gaddis Chapter Topics Chapter 1 discusses the following main topics:
More information8/23/2014. Chapter Topics. Introduction. Java History. Why Program? Java Applications and Applets. Chapter 1: Introduction to Computers and Java
Chapter 1: Introduction to Computers and Java Starting Out with Java: From Control Structures through Objects Fifth Edition by Tony Gaddis Chapter Topics Chapter 1 discusses the following main topics:
More informationUNIX and Linux Essentials Student Guide
UNIX and Linux Essentials Student Guide D76989GC10 Edition 1.0 June 2012 D77816 Authors Uma Sannasi Pardeep Sharma Technical Contributor and Reviewer Harald van Breederode Editors Anwesha Ray Raj Kumar
More informationEEE 435 Principles of Operating Systems
EEE 435 Principles of Operating Systems Operating System Structure (Modern Operating Systems 1.7) Outline Operating System Structure Monolithic Systems Layered Systems Virtual Machines Exokernels Client-Server
More informationAcknowledgments. Who Should Read This Book How to Read This Book
Contents p. i Dedication p. xix Acknowledgments p. xix Foreword p. xxi Introduction p. xxiii Who Should Read This Book p. xxiv How to Read This Book p. xxvi About the Author p. xxvii Background 1 Ten Commandments
More informationComparative Analysis of the Selected Relational Database Management Systems
Comparative Analysis of the Selected Relational Database Management Systems R. Poljak, P. Poščić and D. Jakšić Department of informatics-university of Rijeka/ Rijeka, Croatia rpoljak@student.uniri.hr,
More informationConcepts in Programming Languages
Concepts in Programming Languages Marcelo Fiore Computer Laboratory University of Cambridge 2012 2013 (Easter Term) 1 Practicalities Course web page: with lecture
More informationArbiter: the Evaluation Tool in the Contests of the China NOI
Olympiads in Informatics, 2013, Vol. 7, 180 185 180 2013 Vilnius University Arbiter: the Evaluation Tool in the Contests of the China NOI Qiyang ZHAO 1, Fan WANG 1, Baolin YIN 1,HuiSUN 2 1 School of Computer
More informationHow Often and What StackOverflow Posts Do Developers Reference in Their GitHub Projects?
How Often and What StackOverflow Posts Do Developers Reference in Their GitHub Projects? Saraj Singh Manes School of Computer Science Carleton University Ottawa, Canada sarajmanes@cmail.carleton.ca Olga
More informationChapter 11 Program Development and Programming Languages
Chapter 11 Program Development and Programming Languages permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. Programming
More informationUnderstanding the Open Source Development Model. » The Linux Foundation. November 2011
» The Linux Foundation Understanding the Open Source Development Model November 2011 By Ibrahim Haddad (PhD) and Brian Warner, The Linux Foundation A White Paper By The Linux Foundation This paper presents
More informationThese Are the Top Languages for Enterprise Application Development
These Are the Top Languages for Enterprise Application Development And What That Means for Business August 2018 Enterprises are now free to deploy a polyglot programming language strategy thanks to a decrease
More informationWhy are there so many programming languages? Why do we have programming languages? What is a language for? What makes a language successful?
Chapter 1 :: Introduction Introduction Programming Language Pragmatics Michael L. Scott Why are there so many programming languages? evolution -- we've learned better ways of doing things over time socio-economic
More informationCOMP 201: Principles of Programming
COMP 201: Principles of Programming 1 Learning Outcomes To understand what computing entails and what the different branches of computing are. To understand the basic design of a computer and how it represents
More informationThe future of dynamic languages. Gabor Szabo Perl Training Israel - Raz Information Systems -
The future of dynamic languages Gabor Szabo Perl Training Israel Raz Information System gabor@pti.co.il www.pti.co.il www.raz.co.il Dynamic Languages PHP Tcl Python Ruby Perl... PHP First version in 1995
More informationPopularity, Interoperability, and Impact of Programming Languages in 100,000 Open Source Projects
Popularity, Interoperability, and Impact of Programming Languages in 100,000 Open Source Projects Tegawendé F. Bissyandé 1, Ferdian Thung 2, David Lo 2, Lingxiao Jiang 2 and Laurent Réveillère 1 1 Laboratoire
More informationCS240: Programming in C
CS240: Programming in C Lecture 1: Class overview. Cristina Nita-Rotaru Lecture 1/ Fall 2013 1 WELCOME to CS240 Cristina Nita-Rotaru Lecture 1/ Fall 2013 2 240 Team Instructor: Cristina Nita-Rotaru Special
More information2IS55 Software Evolution. Software metrics. Alexander Serebrenik
2IS55 Software Evolution Software metrics Alexander Serebrenik Assignments Assignment 3: Feedback: 3.875/5 BUT only 8 responces Evaluation Q3: Feedback: Thank you! BUT only 6 responces Assignment 4: Deadline:
More informationChapter 2 Operating-System Structures
This chapter will discuss the following concepts: 2.1 Operating System Services 2.2 User Operating System Interface 2.3 System Calls 2.4 System Programs 2.5 Operating System Design and Implementation 2.6
More informationBut before understanding the Selenium WebDriver concept, we need to know about the Selenium first.
As per the today s scenario, companies not only desire to test software adequately, but they also want to get the work done as quickly and thoroughly as possible. To accomplish this goal, organizations
More informationChapter 2: Operating-System Structures. Operating System Concepts Essentials 8 th Edition
Chapter 2: Operating-System Structures Operating System Concepts Essentials 8 th Edition Silberschatz, Galvin and Gagne 2011 Chapter 2: Operating-System Structures Operating System Services User Operating
More information