Evaluating the Evolution of a C Application

Size: px
Start display at page:

Download "Evaluating the Evolution of a C Application"

Transcription

1 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 describes a case study where versions of software are used to track actual changes made to software application. The analysis of 3 sequential version of the gcc C compiler are described within this paper. The results, where possible, are highlighted using graphical representations of the change process. The discussion of results aims to identify some of the reasons for the specific change features identified. The overall objective of the approach is to gain a more detailed understanding of how and where the change processes take place. This will in the future allow the change processes characterisation, so that eventually it can be used to identify a number of metrics. These metrics will ultimately be used to assess the future maintainability of software applications. Introduction Despite the cost implication of software maintenance it is generally perceived as having a low profile within the software community. Management has often in the past placed little emphasis on maintenance related activities. Small advances have been made in combating these problems, but high profile maintenance tasks such as the year 2 problem have been successful at highlighting the issues. Software maintenance is made difficult by the age of the software requiring maintenance. The age of the software means that documentation has often been lost or is out of date. Furthermore, issues of staff turnover and constant demands for changes due to user enhancements or environmental changes exasperate the problems. Often the code is the only true and accurate description of the functionality of the software. Unfortunately, however, constant corrective maintenance, which is not supported by structural improvements, has a tendency to make the software more difficult to maintain in the future. This paper describes some of the current work being conducted within the Centre for Software Maintenance, at the University of Durham. Specifically, the paper describes a on-going study into the evolution of C programs. The objectives of this work are to gain a deeper understanding of how applications evolve and the reasons for their doing so. Furthermore, the outcome of this study is expected to lead to a more detailed understanding of different maintenance approaches and for some form of qualitative review which show will highlight the most beneficial type of maintenance approaches for the support software evolution. Approach In order to evaluate the results of the process of software change, a number of case studies have been carried out. The case studies have involved the analysis of a number of large software applications. This paper describes one of these studies, where the gnu compiler gcc is examined. In total 3 sequential versions of the software have been examined totalling over 9 million lines of C. In order to examine the evolution process the changes carried out to the software over time are investigated by analysing different versions of the same software. Specifically our current work concentrates on gaining an understanding of the process of evolution in a number of main areas. These are: General change features within the code such as the size of changes, the time taken to make the modification and the number of source code files involved within a change.

2 Changes in the calling of procedures (including additions, deletions and movement of procedures within the call structure). Changes in data usage (including additions, deletions and movement of data items across procedures). The C is analysed using an in-house C analyser developed by Kinloch[Kinloch93]. He produces a finegrained intermediate represented from programs written within the C language from which program call graphs, flow sensitive data flow, definition-use and control dependence view can be constructed. The approach extends Harrold and Malloy [Harrold91] work by dealing with constructs such as pointer and structure variables and value return functions with pass by value and pointer parameters. Kinloch refers to the analyser as CCG; the Combined C Graph. The analysis of the gcc applications, which is currently ongoing, will eventually assess changes in each of the above representations, however at present we have performed only a detailed high level analysis investigating changes to files and changes to the calling structure within the files. Comparisons between version are made in a number of ways; the most basic of which involves the use of the UNIX utility diff. Diff is particularly useful for identifying the actual changes that were made between versions thus it is possible to ensure that a change involves a modification of the source code rather than changes within the comments or file headers. A more advanced approach to comparison between version is the use of the dominator metric and to investigate how the value of this metric changes of the life-time of the software. Work on dominance trees has been carried out by the Department of Informatica e Sistemistica, at the University of Naples [Cilitile97], Fraunhofer Institute for Experimental Software Engineering [Girard97] and Centre for Software Maintenance [Burd96a, Burd96b]. The approach is primarily used as a means of providing an abstraction of, in this case, the call relations within source code. The dominance trees essentially represent dependencies between code modules in the form of a tree. The dominance relations are defined in the following way. In a call-directed-acyclic-graph (CDAG) a node px dominates a node py if and only if every path from the initial node x of the graph to py spans px. In a CDAG a node px directly dominates a node py if and only if all the nodes that dominate py dominate px. In a CDAG there is a relation of strong direct dominance between the nodes px and py if and only if px directly dominates and it is the only node that calls py. The expression of dominance through the use of the strong and direct dominance relations provides an indication of the complexity of the relationships of the calling structure of the code. The greater its complexity the harder the software is to understand and therefore the harder it is to change. Therefore, the higher the proportion of direct dominance (the more complex) relations the harder the software is to maintain. By tracking the process of evolution using these relations it is possible to gain an understanding of the changes in dominance complexity that are occurring within the code over time. Dominance trees can be used to express potential objects within the code [Burd96b]. For instance, each subgraph within the dominance tree can be considered as a potential object. Dominance trees are often used in this way to give an indication how source code can be restructured. Thus, through the examination of the trees an indication of the modular nature of the code can be obtained. Changes in the modularisations of the code such as the overall number of objects and their composition also provide important information regarding the changing nature of software. For this reason other investigations on the source code are performed, such as investigating the number of nodes in specific dominance trees and the overall number of dominance trees per version of the software. Results In order to give an overview of the gcc application an indication will now be given of the changes that are occurring to the software over time at the file level. In this case only changes to the source code are recorded. The figure on the left (Figure 1) shows all 3 versions of the application. Each column represents a different version of the software. Versions are represented sequentially the oldest version to the left the most recent version (2.8.1) to the right. Each of the rows represents a different file within the application. The shaded boxes represent the files that have been changed within the specific version. The files are sorted into order of the number of changes. Those at the top represent those that most frequently change, those at the bottom are the files that are changed very infrequently.

3 From the figure it can be seen that there are a number of characteristics of the changes. For instance, it can be seen that for that the top row is shaded for each version of the software. This means that for this particular file a modification has been made for each version of the software. This file is actually version.c which prints out the version number of the application being used so in this case it should be expected to change on each occasion. It is however, the only such file to change on each occasion. Those changes that the columns are most heavily shaded represent major changes to the software. Those columns that contain only a few changes may represent, for instance, the result of small bug corrections. It is interesting to see how the majority of the changes are made to relatively few of the files. This is especially true when major changes to the software are discounted. Specifically, 3 or 4 files seem to be changed in each version of the software. It is therefore likely that it is these files which are in most need of preventative maintenance as these either represent the core functions of the application or are hard to understand. Cases where the software is difficult to understand may mean that during the process of updating the software mistakes are made and therefore such files often require bug fixes. An investigation into this area is an ongoing direction of the research. The visual representation of such a change history provides an important guide to assist the preventative maintenance process. This above chart allows visual identification of those files that are frequently changing. Those files which are changing more frequently and most often might be those to which maintenance work is better targeted. However, would also be of interest to see how many or to what detail changes are made to each of the files. One possible solution to this problem would be the use of colour where colour could be used to categorise the degree to which changes have been made for each file and version. For instance, red boxes may highlight that a large number of changes had been made. In this way a row with a large number of red boxes would be very identifiable as representing where the major proportion of the maintenance activity occurred. Figure 1: 3 versions of the gcc application

4 Figure 2 shows a graph of the C application. The 3 versions of the software are represented across the horizontal axis, whereas the vertical axis shows the number of source code files involved within a change, per version, and secondly the number of months between each release made. The graph shows a far degree of correspondence between the number of changes per version and the time between each release. Showing Number of Changes and Time to make Modifications Months Changes version Figure 2: Number of Changes and Time to Make Them The figure identifies the presence of 5 major changes within the software. Studies in evolution indicate that when such major changes occur within the software its complexity increases [Lehman97]. Furthermore, other specific patterns can also be identified from the graph. For instance, when referring to the changes immediately following a major change a small number of changes are often performed soon after the initial release. It is assumed that this relates to minor corrections such as bug fixes. Later changes show significant increases within the number of files involved within a change. This increase appears to be soon followed by a new major change. The above results give an indication of the changes that are occurring to the application as a whole. A more low level analysis will now be given of the changes that are occurring within the files, in particular, at the calling level. By way of illustration this paper will now describe the results of the study of evolutionary change on a specific file within the gcc application; combine.c. The results of the analysis showed that there were no additions to the functions within the c code. The changes that did occur however, were related to the calls between the functions. Within the study combine.c was updated 2 times over the 3 versions studied. However only 5 of these changes resulted in a change to the call graph. The degree of changes to the call graph differed greatly between the releases. Varying from a single change to 168 accountable changes. Changes were broadly categorised into 4 types from the analysis of the call graph, these are the addition of new call, the removal of a call, an increase in the number of calls between two specific functions and a decrease in the number of call between two specific functions. Each of these changes has the potential, but will not necessarily, change the dominance relations within the code. The results showed that of the five changes to the call graph 3 of these resulted in a change to the dominance relations within the code. It was indicated above that changes within the dominance relation have the potential to express changes within the maintainability of the application. Where there is an increase in direct dominance relations this tends to mean that there is a decrease in comprehensibility of the code and therefore the maintenance process will in the future be harder to perform. Similarly, an increase in the number of strong dominance relations expresses the reverse process. The results of the analysis process showed that there is an inverse relation between an increase within the number of direct dominance relations and strong dominance relations. Thus, in general it was found that when one

5 increased the other change was small. For instance, a change within on version shows a change of 3 relations between strong to direct dominance, whereas the reverse change accounted for 25 relations. Cumulative total of Dominance Relation Changes version s->d d->s Figure 3: Changes to the dominance relations Figure 3 shows the cumulative changes over a number of versions. It is interesting to note the high increase of strong dominance relations between version and It would appear that a preventative maintenance process has been performed during this major release. This process was not found to occur when 2.7. was released. Conclusions and Further Work This paper has described some of the initial finding from a study of the gcc application. It has identified a number of hypotheses regarding the changes to the application over time. Further work will now be performed to verify if these hypotheses are correct. Furthermore, so far the analysis has only been carried out at the file and calling structure level. More detailed analysis is soon to be performed to identify changes, for instance, within the data structures. References Burd96a Burd96b Cilitile97 Girard97 Harrold91 Kinloch93 Lehman97 Burd E.L., Munro M., Wezeman C., Analysing Large COBOL Programs: the extraction of reusable modules, published in Proceedings of the International Conference on Software Maintenance, California, IEEE Press, Burd E.L., Munro M., Wezeman C., Extracting Reusable Modules from Legacy Code: Considering issues of module granularity, published in Proceedings of the 3rd Working Conference on Reverse Engineering, California, IEEE Press, Cimitile A., De Lucia A., Di Lucca G.A. Fasolino A.R., Identifying Objects in Legacy Systems, International Workshop on Program Comprehension, IEEE Press 1997 Girard J-F., Koschke R., Finding Components in a Hierarchy of Modules: a step towards architectural understanding, International Conference on Software Maintenance, IEEE Press, 1997 Harrold M., Malloy B., A Unified Interprocedural program representation for a maintenance environment, Proceedings of the Conference on Software Maintenance, Italy, IEEE Press, 1991 Kinloch D., Munro M., A Combined Representation for the Maintenance of C Programs, 2 nd Workshop of Program Comprehension, WPC 93, Italy, IEEE Press, 1993 Lehman M.M., Ramil J.F., Wernick P.D., Perry D.E., 'Metrics and Laws of Software Evolution - the nineties view', Symposium on Software Metrics, IEEE Press, Nov 1997

Derivation of Feature Component Maps by means of Concept Analysis

Derivation of Feature Component Maps by means of Concept Analysis Derivation of Feature Component Maps by means of Concept Analysis Thomas Eisenbarth, Rainer Koschke, Daniel Simon University of Stuttgart, Breitwiesenstr. 20-22, 70565 Stuttgart, Germany {eisenbts, koschke,

More information

SOFTWARE MAINTENANCE: A

SOFTWARE MAINTENANCE: A SOFTWARE MAINTENANCE: A TUTORIAL BY KEITH H. BENNETT 2008.10.13 소프트웨어 200310612 조보경 Software Engineering Field Main problem of software engineering Scale and Complexity of the software Goal of software

More information

Guidelines for the application of Data Envelopment Analysis to assess evolving software

Guidelines for the application of Data Envelopment Analysis to assess evolving software Short Paper Guidelines for the application of Data Envelopment Analysis to assess evolving software Alexander Chatzigeorgiou Department of Applied Informatics, University of Macedonia 546 Thessaloniki,

More information

Recovering Interaction Design Patterns in Web Applications

Recovering Interaction Design Patterns in Web Applications Recovering Interaction Design Patterns in Web Applications P. Tramontana A.R. Fasolino Dipartimento di Informatica e Sistemistica University of Naples Federico II, Italy G.A. Di Lucca RCOST Research Centre

More information

Software Evolution: An Empirical Study of Mozilla Firefox

Software 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 information

Visualizing and Characterizing the Evolution of Class Hierarchies

Visualizing and Characterizing the Evolution of Class Hierarchies Visualizing and Characterizing the Evolution of Class Hierarchies Tudor Gîrba and Michele Lanza Software Composition Group University of Berne Switzerland {girba, lanza}@iam.unibe.ch Abstract Analyzing

More information

Training & Documentation. Different Users. Types of training. Reading: Chapter 10. User training (what the system does)

Training & Documentation. Different Users. Types of training. Reading: Chapter 10. User training (what the system does) Training & Documentation Reading: Chapter 10 Different Users Types of training User training (what the system does) Operator training (how the system works) Special training needs: new users vs. brush-up

More information

Software Maintenance. Maintenance is Inevitable. Types of Maintenance. Managing the processes of system change

Software Maintenance. Maintenance is Inevitable. Types of Maintenance. Managing the processes of system change Software Maintenance Managing the processes of system change Maintenance is Inevitable The system requirements are likely to change while the system is being developed because the environment is changing.

More information

5. Computational Geometry, Benchmarks and Algorithms for Rectangular and Irregular Packing. 6. Meta-heuristic Algorithms and Rectangular Packing

5. Computational Geometry, Benchmarks and Algorithms for Rectangular and Irregular Packing. 6. Meta-heuristic Algorithms and Rectangular Packing 1. Introduction 2. Cutting and Packing Problems 3. Optimisation Techniques 4. Automated Packing Techniques 5. Computational Geometry, Benchmarks and Algorithms for Rectangular and Irregular Packing 6.

More information

Managing Change and Complexity

Managing Change and Complexity Managing Change and Complexity The reality of software development Overview Some more Philosophy Reality, representations and descriptions Some more history Managing complexity Managing change Some more

More information

Recording end-users security events: A step towards increasing usability

Recording end-users security events: A step towards increasing usability Section 1 Network Systems Engineering Recording end-users security events: A step towards increasing usability Abstract D.Chatziapostolou and S.M.Furnell Network Research Group, University of Plymouth,

More information

WARE: a tool for the Reverse Engineering of Web Applications

WARE: a tool for the Reverse Engineering of Web Applications WARE: a tool for the Reverse Engineering of Web Applications Anna Rita Fasolino G. A. Di Lucca, F. Pace, P. Tramontana, U. De Carlini Dipartimento di Informatica e Sistemistica University of Naples Federico

More information

A Study of Bad Smells in Code

A Study of Bad Smells in Code International Journal for Science and Emerging ISSN No. (Online):2250-3641 Technologies with Latest Trends 7(1): 16-20 (2013) ISSN No. (Print): 2277-8136 A Study of Bad Smells in Code Gurpreet Singh* and

More information

Concept Analysis. Porfirio Tramontana Anna Rita Fasolino. Giuseppe A. Di Lucca. University of Sannio, Benevento, Italy

Concept Analysis. Porfirio Tramontana Anna Rita Fasolino. Giuseppe A. Di Lucca. University of Sannio, Benevento, Italy Web Pages Classification using Concept Analysis Porfirio Tramontana Anna Rita Fasolino Dipartimento di Informatica e Sistemistica University of Naples Federico II, Italy Giuseppe A. Di Lucca RCOST Research

More information

COMMON ISSUES AFFECTING SECURITY USABILITY

COMMON ISSUES AFFECTING SECURITY USABILITY Evaluating the usability impacts of security interface adjustments in Word 2007 M. Helala 1, S.M.Furnell 1,2 and M.Papadaki 1 1 Centre for Information Security & Network Research, University of Plymouth,

More information

Porfirio Tramontana Anna Rita Fasolino. Giuseppe A. Di Lucca. University of Sannio, Benevento, Italy

Porfirio Tramontana Anna Rita Fasolino. Giuseppe A. Di Lucca. University of Sannio, Benevento, Italy A Technique for Reducing User Session Data Sets in Web Application Testing Porfirio Tramontana Anna Rita Fasolino Dipartimento di Informatica e Sistemistica University of Naples Federico II, Italy Giuseppe

More information

An Object Oriented Runtime Complexity Metric based on Iterative Decision Points

An Object Oriented Runtime Complexity Metric based on Iterative Decision Points An Object Oriented Runtime Complexity Metric based on Iterative Amr F. Desouky 1, Letha H. Etzkorn 2 1 Computer Science Department, University of Alabama in Huntsville, Huntsville, AL, USA 2 Computer Science

More information

3 Graphical Displays of Data

3 Graphical Displays of Data 3 Graphical Displays of Data Reading: SW Chapter 2, Sections 1-6 Summarizing and Displaying Qualitative Data The data below are from a study of thyroid cancer, using NMTR data. The investigators looked

More information

INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) NEED FOR DESIGN PATTERNS AND FRAMEWORKS FOR QUALITY SOFTWARE DEVELOPMENT

INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) NEED FOR DESIGN PATTERNS AND FRAMEWORKS FOR QUALITY SOFTWARE DEVELOPMENT INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) International Journal of Computer Engineering and Technology (IJCET), ISSN 0976 6367(Print), ISSN 0976 6367(Print) ISSN 0976 6375(Online)

More information

Advanced Topics UNIT 2 PERFORMANCE EVALUATIONS

Advanced Topics UNIT 2 PERFORMANCE EVALUATIONS Advanced Topics UNIT 2 PERFORMANCE EVALUATIONS Structure Page Nos. 2.0 Introduction 4 2. Objectives 5 2.2 Metrics for Performance Evaluation 5 2.2. Running Time 2.2.2 Speed Up 2.2.3 Efficiency 2.3 Factors

More information

Comparison between SLOCs and number of files as size metrics for software evolution analysis

Comparison between SLOCs and number of files as size metrics for software evolution analysis Comparison between SLOCs and number of files as size metrics for software evolution analysis Israel Herraiz, Gregorio Robles, Jesús M. González-Barahona Grupo de Sistemas y Comunicaciones Universidad Rey

More information

Software Maintainability Ontology in Open Source Software. Celia Chen ARR 2018, USC

Software Maintainability Ontology in Open Source Software. Celia Chen ARR 2018, USC Software Maintainability Ontology in Open Source Software Celia Chen qianqiac@usc.edu ARR 2018, USC How do others measure software maintainability? Most popular methods: Automated analysis of the code

More information

Ingegneria del Software Corso di Laurea in Informatica per il Management. Software quality and Object Oriented Principles

Ingegneria del Software Corso di Laurea in Informatica per il Management. Software quality and Object Oriented Principles Ingegneria del Software Corso di Laurea in Informatica per il Management Software quality and Object Oriented Principles Davide Rossi Dipartimento di Informatica Università di Bologna Design goal The goal

More information

3 Graphical Displays of Data

3 Graphical Displays of Data 3 Graphical Displays of Data Reading: SW Chapter 2, Sections 1-6 Summarizing and Displaying Qualitative Data The data below are from a study of thyroid cancer, using NMTR data. The investigators looked

More information

Reverse Software Engineering Using UML tools Jalak Vora 1 Ravi Zala 2

Reverse Software Engineering Using UML tools Jalak Vora 1 Ravi Zala 2 IJSRD - International Journal for Scientific Research & Development Vol. 2, Issue 03, 2014 ISSN (online): 2321-0613 Reverse Software Engineering Using UML tools Jalak Vora 1 Ravi Zala 2 1, 2 Department

More information

Architectural Reflection for Software Evolution

Architectural Reflection for Software Evolution Architectural Reflection for Software Evolution Stephen Rank Department of Computing and Informatics, University of Lincoln. srank@lincoln.ac.uk Abstract. Software evolution is expensive. Lehman identifies

More information

Software metrics for open source systems. Niklas Kurkisuo, Emil Sommarstöm, 25697

Software metrics for open source systems. Niklas Kurkisuo, Emil Sommarstöm, 25697 Software metrics for open source systems Niklas Kurkisuo, 26389 Emil Sommarstöm, 25697 Contents Introduction 1 Open Source Software Development 1.1 Open Source Development advantages/disadvantages 1.2

More information

1 Hardware virtualization for shading languages Group Technical Proposal

1 Hardware virtualization for shading languages Group Technical Proposal 1 Hardware virtualization for shading languages Group Technical Proposal Executive Summary The fast processing speed and large memory bandwidth of the modern graphics processing unit (GPU) will make it

More information

Software Engineering Principles

Software Engineering Principles 1 / 19 Software Engineering Principles Miaoqing Huang University of Arkansas Spring 2010 2 / 19 Outline 1 2 3 Compiler Construction 3 / 19 Outline 1 2 3 Compiler Construction Principles, Methodologies,

More information

Moderators Report. January Certificate in Digital Applications DA201

Moderators Report. January Certificate in Digital Applications DA201 Moderators Report January 2014 Certificate in Digital Applications DA201 Edexcel and BTEC Qualifications Edexcel and BTEC qualifications are awarded by Pearson, the UK s largest awarding body. We provide

More information

Course Report Computing Science Advanced Higher

Course Report Computing Science Advanced Higher Course Report 2018 Subject Level Computing Science Advanced Higher This report provides information on the performance of candidates. Teachers, lecturers and assessors may find it useful when preparing

More information

Effects of PROC EXPAND Data Interpolation on Time Series Modeling When the Data are Volatile or Complex

Effects of PROC EXPAND Data Interpolation on Time Series Modeling When the Data are Volatile or Complex Effects of PROC EXPAND Data Interpolation on Time Series Modeling When the Data are Volatile or Complex Keiko I. Powers, Ph.D., J. D. Power and Associates, Westlake Village, CA ABSTRACT Discrete time series

More information

2015 User Satisfaction Survey Final report on OHIM s User Satisfaction Survey (USS) conducted in autumn 2015

2015 User Satisfaction Survey Final report on OHIM s User Satisfaction Survey (USS) conducted in autumn 2015 2015 User Satisfaction Survey Final report on OHIM s User Satisfaction Survey (USS) conducted in autumn 2015 Alicante 18 December 2015 Contents 1. INTRODUCTION... 4 SUMMARY OF SURVEY RESULTS... 4 2. METHODOLOGY

More information

Cost Models. Chapter Twenty-One Modern Programming Languages, 2nd ed. 1

Cost Models. Chapter Twenty-One Modern Programming Languages, 2nd ed. 1 Cost Models Chapter Twenty-One Modern Programming Languages, 2nd ed. 1 Which Is Faster? Y=[1 X] append(x,[1],y) Every experienced programmer has a cost model of the language: a mental model of the relative

More information

An Approach to Software Component Specification

An Approach to Software Component Specification Page 1 of 5 An Approach to Software Component Specification Jun Han Peninsula School of Computing and Information Technology Monash University, Melbourne, Australia Abstract. Current models for software

More information

Adding Usability to Web Engineering Models and Tools

Adding Usability to Web Engineering Models and Tools Adding Usability to Web Engineering Models and Tools Richard Atterer 1 and Albrecht Schmidt 2 1 Media Informatics Group Ludwig-Maximilians-University Munich, Germany richard.atterer@ifi.lmu.de 2 Embedded

More information

Basically, a graph is a representation of the relationship between two or more variables.

Basically, a graph is a representation of the relationship between two or more variables. 1 Drawing Graphs Introduction In recent years, the CSEC Integrated Science Examination, Paper 02, deals with graphical analysis. That is, data is presented in a tabular format and the student is asked

More information

SQL Solutions Case Study SOUTH WALES POLICE DEPARTMENT. How South Wales PD Improves their SQL Server Management with IDERA

SQL Solutions Case Study SOUTH WALES POLICE DEPARTMENT. How South Wales PD Improves their SQL Server Management with IDERA SQL Solutions Case Study SOUTH WALES POLICE DEPARTMENT How South Wales PD Improves their SQL Server Management with IDERA OVERVIEW The South Wales Police Department is responsible for an area of around

More information

Why Consider Implementation-Level Decisions in Software Architectures?

Why Consider Implementation-Level Decisions in Software Architectures? 1. Abstract Why Consider Implementation-Level Decisions in Software Architectures? Nikunj Mehta Nenad Medvidović Marija Rakić {mehta, neno, marija}@sunset.usc.edu Department of Computer Science University

More information

Extensible and Dynamic Data Structure Viewers in Java

Extensible and Dynamic Data Structure Viewers in Java Extensible and Dynamic Data Structure Viewers in Java Jhilmil Jain Computer Science and Software Engineering Department, Auburn University, Auburn AL Email: jainjhi@auburn.edu Problem & motivation Many

More information

Requirements Engineering for Enterprise Systems

Requirements Engineering for Enterprise Systems Association for Information Systems AIS Electronic Library (AISeL) AMCIS 2001 Proceedings Americas Conference on Information Systems (AMCIS) December 2001 Requirements Engineering for Enterprise Systems

More information

A Comparison of File. D. Roselli, J. R. Lorch, T. E. Anderson Proc USENIX Annual Technical Conference

A Comparison of File. D. Roselli, J. R. Lorch, T. E. Anderson Proc USENIX Annual Technical Conference A Comparison of File System Workloads D. Roselli, J. R. Lorch, T. E. Anderson Proc. 2000 USENIX Annual Technical Conference File System Performance Integral component of overall system performance Optimised

More information

User Interface Document version

User Interface Document version User Interface Document version 1.6 2018 Table of contents 1 General information 1.1 General technical remarks 1.2 User interface composition 1.3 Profile settings 1.4 Structure of the main menu 2 User

More information

Whitepaper Italy SEO Ranking Factors 2012

Whitepaper Italy SEO Ranking Factors 2012 Whitepaper Italy SEO Ranking Factors 2012 Authors: Marcus Tober, Sebastian Weber Searchmetrics GmbH Greifswalder Straße 212 10405 Berlin Phone: +49-30-3229535-0 Fax: +49-30-3229535-99 E-Mail: info@searchmetrics.com

More information

Genetic Image Network for Image Classification

Genetic Image Network for Image Classification Genetic Image Network for Image Classification Shinichi Shirakawa, Shiro Nakayama, and Tomoharu Nagao Graduate School of Environment and Information Sciences, Yokohama National University, 79-7, Tokiwadai,

More information

Spatial Patterns Point Pattern Analysis Geographic Patterns in Areal Data

Spatial Patterns Point Pattern Analysis Geographic Patterns in Areal Data Spatial Patterns We will examine methods that are used to analyze patterns in two sorts of spatial data: Point Pattern Analysis - These methods concern themselves with the location information associated

More information

THE STATE OF IT TRANSFORMATION FOR RETAIL

THE STATE OF IT TRANSFORMATION FOR RETAIL THE STATE OF IT TRANSFORMATION FOR RETAIL An Analysis by Dell EMC and VMware Dell EMC and VMware are helping IT groups at retail organizations transform to business-focused service providers. The State

More information

A Novel Method for the Comparison of Graphical Data Models

A Novel Method for the Comparison of Graphical Data Models 3RD INTERNATIONAL CONFERENCE ON INFORMATION SYSTEMS DEVELOPMENT (ISD01 CROATIA) A Novel Method for the Comparison of Graphical Data Models Katarina Tomičić-Pupek University of Zagreb, Faculty of Organization

More information

GCSE. Business and Communication Systems. Unit 9 Using ICT in Business. Mark Scheme June Version 1: Final Mark Scheme

GCSE. Business and Communication Systems. Unit 9 Using ICT in Business. Mark Scheme June Version 1: Final Mark Scheme GCSE Business and Communication Systems Unit 9 Using ICT in Business Mark Scheme 434 June 205 Version : Final Mark Scheme Mark schemes are prepared by the Principal Examiner and considered, together with

More information

Data analysis and inference for an industrial deethanizer

Data analysis and inference for an industrial deethanizer Data analysis and inference for an industrial deethanizer Francesco Corona a, Michela Mulas b, Roberto Baratti c and Jose Romagnoli d a Dept. of Information and Computer Science, Helsinki University of

More information

Reverse Engineering with Logical Coupling

Reverse Engineering with Logical Coupling Reverse Engineering with Logical Coupling Marco D Ambros, Michele Lanza - Faculty of Informatics - University of Lugano Switzerland 13th Working Conference on Reverse Engineering October 23-27, 2006, Benevento,

More information

TYMNET as a multiplexed packet network

TYMNET as a multiplexed packet network TYMNET as a multiplexed packet network by JOHN KOPF Tymshare, Inc. Cupertino, California ABSTRACT TYMNET is a commercially successful computer network that has been in continuous operation since November,

More information

Does Firefox obey Lehman s Laws of software Evolution?

Does 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 information

The Cost of Phishing. Understanding the True Cost Dynamics Behind Phishing Attacks A CYVEILLANCE WHITE PAPER MAY 2015

The Cost of Phishing. Understanding the True Cost Dynamics Behind Phishing Attacks A CYVEILLANCE WHITE PAPER MAY 2015 The Cost of Phishing Understanding the True Cost Dynamics Behind Phishing Attacks A CYVEILLANCE WHITE PAPER MAY 2015 Executive Summary.... 3 The Costs... 4 How To Estimate the Cost of an Attack.... 5 Table

More information

Case No COMP/M FLEXTRONICS / ALCATEL. REGULATION (EEC) No 4064/89 MERGER PROCEDURE. Article 6(1)(b) NON-OPPOSITION Date: 29/06/2001

Case No COMP/M FLEXTRONICS / ALCATEL. REGULATION (EEC) No 4064/89 MERGER PROCEDURE. Article 6(1)(b) NON-OPPOSITION Date: 29/06/2001 EN Case No COMP/M.2479 - FLEXTRONICS / ALCATEL Only the English text is available and authentic. REGULATION (EEC) No 4064/89 MERGER PROCEDURE Article 6(1)(b) NON-OPPOSITION Date: 29/06/2001 Also available

More information

Visualizing Software Dynamics

Visualizing Software Dynamics Visualizing Software Dynamics Fabian Beck Keynote at the 8 th Symposium on Software Performance 2017, Nov 9, Karlsruhe, Germany Architecture Modularization Software Engineering Evolution Coupling Comprehension

More information

Multivariate probability distributions

Multivariate probability distributions Multivariate probability distributions September, 07 STAT 0 Class Slide Outline of Topics Background Discrete bivariate distribution 3 Continuous bivariate distribution STAT 0 Class Slide Multivariate

More information

Distribution of Population Entry Scores by Domain Population-based Self-Sufficiency Outcomes Matrix Report

Distribution of Population Entry Scores by Domain Population-based Self-Sufficiency Outcomes Matrix Report 0508 Distribution of Population Entry Scores by Domain Population-based Self-Sufficiency Outcomes Matrix Report EXECUTIVE SUMMARY: This report shows how the self-sufficiency outcomes matrix scores are

More information

HASS RECORD GUIDANCE. Version 1

HASS RECORD GUIDANCE. Version 1 HASS RECORD GUIDANCE Version 1 2013 1 General 1.1 This guidance is intended to help HASS holders make clear, accurate and consistent records, to make the necessary reports to SEPA and therefore allow SEPA

More information

VIFOR 2: A Tool for Browsing and Documentation

VIFOR 2: A Tool for Browsing and Documentation VIFOR 2: A Tool for Browsing and Documentation Vaclav Rajlich, Sridhar Reddy Adnapally Department of Computer Science Wayne State University Detroit, MI 48202, USA rajlich@ c s. w ayne.edu Abstract. During

More information

3Lesson 3: Web Project Management Fundamentals Objectives

3Lesson 3: Web Project Management Fundamentals Objectives 3Lesson 3: Web Project Management Fundamentals Objectives By the end of this lesson, you will be able to: 1.1.11: Determine site project implementation factors (includes stakeholder input, time frame,

More information

Recent Design Optimization Methods for Energy- Efficient Electric Motors and Derived Requirements for a New Improved Method Part 3

Recent Design Optimization Methods for Energy- Efficient Electric Motors and Derived Requirements for a New Improved Method Part 3 Proceedings Recent Design Optimization Methods for Energy- Efficient Electric Motors and Derived Requirements for a New Improved Method Part 3 Johannes Schmelcher 1, *, Max Kleine Büning 2, Kai Kreisköther

More information

Bayesian Learning Networks Approach to Cybercrime Detection

Bayesian Learning Networks Approach to Cybercrime Detection Bayesian Learning Networks Approach to Cybercrime Detection N S ABOUZAKHAR, A GANI and G MANSON The Centre for Mobile Communications Research (C4MCR), University of Sheffield, Sheffield Regent Court, 211

More information

System Design and Modular Programming

System Design and Modular Programming CS3 Programming Methodology Lecture Note D1, 2 November 2000 System Design and Modular Programming System design involves meeting competing requirements and satisfying constraints on the system and the

More information

JF MSISS. Excel Tutorial 1

JF MSISS. Excel Tutorial 1 JF MSISS Excel 2010 Tutorial 1 In this session you will learn how to: Enter data into a spreadsheet Format data. Enter formulas. Copy formulas. 1. What is a Spreadsheet? A spreadsheet is best thought of

More information

Memory Hierarchies. Instructor: Dmitri A. Gusev. Fall Lecture 10, October 8, CS 502: Computers and Communications Technology

Memory Hierarchies. Instructor: Dmitri A. Gusev. Fall Lecture 10, October 8, CS 502: Computers and Communications Technology Memory Hierarchies Instructor: Dmitri A. Gusev Fall 2007 CS 502: Computers and Communications Technology Lecture 10, October 8, 2007 Memories SRAM: value is stored on a pair of inverting gates very fast

More information

Quality Driven Software Migration of Procedural Code to Object-Oriented Design

Quality Driven Software Migration of Procedural Code to Object-Oriented Design Quality Driven Software Migration of Procedural Code to Object-Oriented Design Ying Zou Dept. of Electrical & Computer Engineering Queen s University Kingston, ON, K7L 3N6, Canada zouy@post.queensu.ca

More information

Consistent Measurement of Broadband Availability

Consistent Measurement of Broadband Availability Consistent Measurement of Broadband Availability By Advanced Analytical Consulting Group, Inc. September 2016 Abstract This paper provides several, consistent measures of broadband availability from 2009

More information

Consistent Measurement of Broadband Availability

Consistent Measurement of Broadband Availability Consistent Measurement of Broadband Availability FCC Data through 12/2015 By Advanced Analytical Consulting Group, Inc. December 2016 Abstract This paper provides several, consistent measures of broadband

More information

The C++ SoftBench Class Editor

The C++ SoftBench Class Editor The C++ SoftBench Class Editor The C++ SoftBench class editor adds automatic code generation capabilities to the class graph of the SoftBench static analyzer. Novice C++ programmers can concentrate on

More information

Case study: evaluating the effect of interruptions within the workplace

Case study: evaluating the effect of  interruptions within the workplace Loughborough University Institutional Repository Case study: evaluating the effect of email interruptions within the workplace This item was submitted to Loughborough University's Institutional Repository

More information

Workbook Structure Analysis Coping with the Imperfect

Workbook Structure Analysis Coping with the Imperfect Workbook Structure Analysis Coping with the Imperfect Bill Bekenn and Ray Hooper Fairway Associates Ltd. PO Box 846, Ipswich IP5 3TT UK info@fairwayassociates.co.uk ABSTRACT This Paper summarises the operation

More information

BUSINESS VALUE SPOTLIGHT

BUSINESS VALUE SPOTLIGHT BUSINESS VALUE SPOTLIGHT Improve Performance, Increase User Productivity, and Reduce Costs with Database Archiving: A Case Study of AT&T May 2010 Sponsored by Informatica, Inc. Background AT&T's Wireless

More information

Evolutionary form design: the application of genetic algorithmic techniques to computer-aided product design

Evolutionary form design: the application of genetic algorithmic techniques to computer-aided product design Loughborough University Institutional Repository Evolutionary form design: the application of genetic algorithmic techniques to computer-aided product design This item was submitted to Loughborough University's

More information

Common Coupling as a Measure of Reuse Effort in Kernel-Based Software with Case Studies on the Creation of MkLinux and Darwin

Common Coupling as a Measure of Reuse Effort in Kernel-Based Software with Case Studies on the Creation of MkLinux and Darwin Common Coupling as a Measure of Reuse Effort in Kernel-Based Software with Case Studies on the Creation of MkLinux and Darwin Liguo Yu Department of Informatics Computer and Information Sciences Department

More information

The goal of this project is to enhance the identification of code duplication which can result in high cost reductions for a minimal price.

The goal of this project is to enhance the identification of code duplication which can result in high cost reductions for a minimal price. Code Duplication New Proposal Dolores Zage, Wayne Zage Ball State University June 1, 2017 July 31, 2018 Long Term Goals The goal of this project is to enhance the identification of code duplication which

More information

Building a Better Data System: What Are Process and Data Models?

Building a Better Data System: What Are Process and Data Models? Building a Better Data System: What Are Process and Data Models? Robin Nelson Bruce Bull The DaSy Center The contents of this report were developed under a grant from the U.S. Department of Education,

More information

HOW AND WHEN TO FLATTEN JAVA CLASSES?

HOW AND WHEN TO FLATTEN JAVA CLASSES? HOW AND WHEN TO FLATTEN JAVA CLASSES? Jehad Al Dallal Department of Information Science, P.O. Box 5969, Safat 13060, Kuwait ABSTRACT Improving modularity and reusability are two key objectives in object-oriented

More information

This demonstration is aimed at anyone with lots of text, unstructured or multiformat data to analyse.

This demonstration is aimed at anyone with lots of text, unstructured or multiformat data to analyse. 1 2 This demonstration is aimed at anyone with lots of text, unstructured or multiformat data to analyse. This could be lots of Word, PDF and text file formats or in various databases or spreadsheets,

More information

A Mission Critical Protection Investment That Pays You Back

A Mission Critical Protection Investment That Pays You Back A Mission Critical Protection Investment That Pays You Back By Wade Ettleman and Earl Philmon June 2012 Page 1 of 8 www.cellwatch.com A Mission Critical Protection Investment That Pays You Back Reliable

More information

CPSC 444 Project Milestone III: Prototyping & Experiment Design Feb 6, 2018

CPSC 444 Project Milestone III: Prototyping & Experiment Design Feb 6, 2018 CPSC 444 Project Milestone III: Prototyping & Experiment Design Feb 6, 2018 OVERVIEW... 2 SUMMARY OF MILESTONE III DELIVERABLES... 2 1. Blog Update #3 - Low-fidelity Prototyping & Cognitive Walkthrough,

More information

Die Wear Profile Investigation in Hot Forging

Die Wear Profile Investigation in Hot Forging Die Wear Profile Investigation in Hot Forging F. R. Biglari, M Zamani Abstract In this study, the wear profile on the die surface during the hot forging operation for an axisymmetric cross-section is examined.

More information

Analyzing Dshield Logs Using Fully Automatic Cross-Associations

Analyzing Dshield Logs Using Fully Automatic Cross-Associations Analyzing Dshield Logs Using Fully Automatic Cross-Associations Anh Le 1 1 Donald Bren School of Information and Computer Sciences University of California, Irvine Irvine, CA, 92697, USA anh.le@uci.edu

More information

Transactions on Information and Communications Technologies vol 11, 1995 WIT Press, ISSN

Transactions on Information and Communications Technologies vol 11, 1995 WIT Press,  ISSN An investigation of quality profiles for different types of software T. Musson," E. Dodman* * Department of Computer Studies, Napier University, 219 Colinton Road, Edinburgh, EH 14 1DJ, UK Email: tim@dcs.napier.ac.uk

More information

3D object comparison with geometric guides for Interactive Evolutionary CAD

3D object comparison with geometric guides for Interactive Evolutionary CAD Loughborough University Institutional Repository 3D object comparison with geometric guides for Interactive Evolutionary CAD This item was submitted to Loughborough University's Institutional Repository

More information

Usability Evaluation of Software Testing Based on Analytic Hierarchy Process Dandan HE1, a, Can WANG2

Usability Evaluation of Software Testing Based on Analytic Hierarchy Process Dandan HE1, a, Can WANG2 4th International Conference on Machinery, Materials and Computing Technology (ICMMCT 2016) Usability Evaluation of Software Testing Based on Analytic Hierarchy Process Dandan HE1, a, Can WANG2 1,2 Department

More information

JLPT Frequently Asked Questions

JLPT Frequently Asked Questions JLPT Frequently Asked Questions 1.About the test 2.Levels 3.Test sections, test times and test questions 4.Studying for the test 5.Scores and determination of pass or fail 6.Test results (Score Report

More information

Visualising Software in Virtual Reality. Peter Young and Malcolm Munro

Visualising Software in Virtual Reality. Peter Young and Malcolm Munro Visualising Software in Virtual Reality Peter Young and Malcolm Munro Visualisation Research Group The Centre for Software Maintenance Department of Computer Science University of Durham Durham, DH1 3LE,

More information

Conceptual Model for a Software Maintenance Environment

Conceptual Model for a Software Maintenance Environment Conceptual Model for a Software Environment Miriam. A. M. Capretz Software Engineering Lab School of Computer Science & Engineering University of Aizu Aizu-Wakamatsu City Fukushima, 965-80 Japan phone:

More information

efmea RAISING EFFICIENCY OF FMEA BY MATRIX-BASED FUNCTION AND FAILURE NETWORKS

efmea RAISING EFFICIENCY OF FMEA BY MATRIX-BASED FUNCTION AND FAILURE NETWORKS efmea RAISING EFFICIENCY OF FMEA BY MATRIX-BASED FUNCTION AND FAILURE NETWORKS Maik Maurer Technische Universität München, Product Development, Boltzmannstr. 15, 85748 Garching, Germany. Email: maik.maurer@pe.mw.tum.de

More information

Format of Session 1. Forensic Accounting then and now 2. Overview of Data Analytics 3. Fraud Analytics Basics 4. Advanced Fraud Analytics 5. Data Visualization 6. Wrap-up Question are welcome and encouraged!

More information

Research Article ISSN:

Research Article ISSN: Research Article [Agrawal, 1(3): May, 2012] IJESRT INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY Use Of Software Metrics To Measure And Improve The Quality Of The Software Design

More information

Quick Trial Balance Pro - Accounting Cycle. Accounting Cycle: Home Screen

Quick Trial Balance Pro - Accounting Cycle. Accounting Cycle: Home Screen Accounting Cycle: Home Screen The Accounting Cycle is the processes, or steps, that are repeated each month, or year, when you process a client's data. When you click the Accounting Cycle button on the

More information

ITERATIVE MULTI-LEVEL MODELLING - A METHODOLOGY FOR COMPUTER SYSTEM DESIGN. F. W. Zurcher B. Randell

ITERATIVE MULTI-LEVEL MODELLING - A METHODOLOGY FOR COMPUTER SYSTEM DESIGN. F. W. Zurcher B. Randell ITERATIVE MULTI-LEVEL MODELLING - A METHODOLOGY FOR COMPUTER SYSTEM DESIGN F. W. Zurcher B. Randell Thomas J. Watson Research Center Yorktown Heights, New York Abstract: The paper presents a method of

More information

Chapter 2: Descriptive Statistics

Chapter 2: Descriptive Statistics Chapter 2: Descriptive Statistics Student Learning Outcomes By the end of this chapter, you should be able to: Display data graphically and interpret graphs: stemplots, histograms and boxplots. Recognize,

More information

Analyzing the Product Line Adequacy of Existing Components

Analyzing the Product Line Adequacy of Existing Components Analyzing the Product Line Adequacy of Existing Components Jens Knodel and Dirk Muthig Fraunhofer Institute for Experimental Software Engineering (IESE), Fraunhofer-Platz 1, D-67663 Kaiserslautern, Germany

More information

DATA PROCESSING PROCEDURES FOR UCR EPA ENVIRONMENTAL CHAMBER EXPERIMENTS. Appendix B To Quality Assurance Project Plan

DATA PROCESSING PROCEDURES FOR UCR EPA ENVIRONMENTAL CHAMBER EXPERIMENTS. Appendix B To Quality Assurance Project Plan DATA PROCESSING PROCEDURES FOR UCR EPA ENVIRONMENTAL CHAMBER EXPERIMENTS Appendix B To Quality Assurance Project Plan DRAFT Version 1.3 April 25, 2002 William P. L. Carter Atmospheric Processes Group CE-CERT

More information

CTL.SC4x Technology and Systems

CTL.SC4x Technology and Systems in Supply Chain Management CTL.SC4x Technology and Systems Key Concepts Document This document contains the Key Concepts for the SC4x course, Weeks 1 and 2. These are meant to complement, not replace,

More information

Refactoring Practice: How it is and How it Should be Supported

Refactoring Practice: How it is and How it Should be Supported Refactoring Practice: How it is and How it Should be Supported Zhenchang Xing and EleniStroulia Presented by: Sultan Almaghthawi 1 Outline Main Idea Related Works/Literature Alignment Overview of the Case

More information

Process Eye Professional. Recall

Process Eye Professional. Recall Process Eye Professional Recall Process Eye Professional Recall User Manual SP104010.101 August 2005 As part of our continuous product improvement policy, we are always pleased to receive your comments

More information