visualizations for code metrics
|
|
- Amanda Rice
- 8 years ago
- Views:
Transcription
1 ThoughtWorks visualizations for code metrics NEAL FORD software architect / meme wrangler ThoughtWorks nford@thoughtworks.com 3003 Summit Boulevard, Atlanta, GA blog: memeagora.blogspot.com twitter: neal4d
2 housekeeping ask questions anytime download slides from nealford.com download samples from github.com/nealford
3 what was that? code_swarm point it to a subversion repository visualization of check-ins over time useful? cool!
4
5
6 wtf s/min
7 external perspective is the software valuable to its users?
8 internal perspective how appropriate is the design? how amenable is emergent design? how easy is it to understand & extend? how maintainable is it? is it salvageable?
9 30,000 feet ground level
10 where are the defects?
11 which way do the messages flow?
12 where do the pictures come from? models created up front convey a vision but usually don t reflect reality generating a complete model for large systems is nearly impossible systems evolve locally, often uncontrolled the best picture very much depends on the question you are trying to answer need tools to create ad-hoc models more easily
13 1. select a meta-model a model that describes a model example: meta-model for a class diagram a class is a box with name, methods, fields,... available connectors: association, inheritance, aggregation rules: no circles in inheritance, etc.
14 common meta-models Metrics (Quantitative) Directed Graph M 1 xyz Foo Clas M1 M2 M3 Bar M 2 s Foo Bar M 1 Tree Process Model (e.g. Petri Net)
15 static analysis 2. inspection / instrumentation source code byte code dynamic analysis profiling, listen to messages, log files, network sniffer, etc.
16 3. mapping to the model example: messaging system capture send/receive actions Senders Comp. Channel A X B Y Receivers Comp. Channel C X C Y map onto directed graph Mapper Nodes: A, B, C Edges: X(A!C) Y(B!C) Graph Model
17 Graphviz 4. visualization &...
18 ...validation don t simply observe verify & alert enforce rules or best practices detect cycles islands on a dependency graph
19 the hawthorne effect
20 the hawthorne effect measure and let it be known that you are measuring
21 metrics
22 cyclomatic complexity measures complexity of a function V(G)= e - n + 2 V(G) = cyclomatic complexity of G e= # edges n= # of nodes
23 start 1 if (c1) f1() 3 f2() if (c2) nodes f3() 6 f4() edges end
24 chidamber & kemerer object-oriented metrics shyam r chidamber chris f kemerer easy but not terribly useful very useful
25 easy (but trivial) dit depth of inheritance tree # levels of inheritance noc number of children # immediate descendants npm number of public methods # public methods in class
26 very useful wmc rfc lcom cbo/ ce ca weighted methods/ class response for class lack of cohesion efferent couplings afferent couplings of cyclomatic complexity # of methods executed due to method call of sets of methods not shared via sharing fields of other classes this class uses (outgoing calls) of how many other classes use this class (incoming calls)
27 visualizations
28 source monitor freeware tool for gathering metrics metrics: lines, statements, % branches, calls, % comments, classes, methods/class, avg stmts/ method, max complexity, max depth, average depth, average complexity graphical user interface, windows only!
29 source monitor: kiviat graphs
30 source monitor: class summary
31 source monitor w/ c#
32 looking for... classes that violate several kiviat graph ranges really odd shapes
33 A project dedicated to making code metrics so widely understood, valuable, and simple that their use becomes ubiquitous, thus raising the quality of software across the industry.
34 panopticode parts code coverage with emma 1-line change to switch to cobertura checkstyle 1-line switch for custom rule sets jdepend code duplication using simian javancss aggregator & reports volatility treemaps
35 complexity treemap
36
37 code coverage
38 looking for... 20,000 foot view along a single dimension simple view of one dimension information radiators
39 size & complexity pyramid developed at Universities of Berne and Lugano shows key metrics and their relationships allows comparison to industry standards created by iplasma tool from source code
40 pyramid 5.75 NOP NOC NOM NOM LOC CALLS 0.40 CYCLO FANOUT
41 iplasma + Struts
42
43 vuze
44 looking for... adherence to industry standards low number of lines / method (see composed method pattern) low cyclomatic complexity / line
45 GraphViz
46 e v e n d o t t l i s t f i l e
47 output
48 generating dot files
49 untangling jars jar analyzer Kirk Knoernschild
50 xml output
51 t r a n s f o r m e d
52 graphical struts 1.0
53
54
55 looking for... not that! small number of oneway dependencies no rats nests no cycles
56 Vizant ant task to create a GraphViz DOT file from an ant build file
57 ant 1.5
58 log4j
59 tomcat 3.3.1
60 from= dist
61 to= prepare
62 look for... hot spots more even distribution networks around common dependent elements think about extracting via macrodef
63 SpringViz XSLT => DOT for spring dependencies
64
65
66 SpringViz
67 look for... regularity symmetry overloaded dependencies isolated pockets
68 toxicity chart provides easy to compare overview of quality created with checkstyle + excel
69 toxicity chart SessionFactory Utils.java AbstractBeanFactory.java BeanWrapperImpl.jav a DispatcherServ let.java SchedulerFactory Bean.java AntPathMatcher.jav a SQLErrorCodeSQLExceptionTranslator.jav a HibernateTemplate.jav a ReloadableResourceBundleMessageSource.jav a PropertiesBeanDef initionreader.jav a StatementCreatorUtils.java Lazy ConnectionDataSourceProxy.java Def aultmessagelistenercontainer.java JdoTransactionManager.jav a TopLinkTransactionManager.jav a ScriptFactory PostProcessor.java TransactionAwareConnectionFactory Proxy.java NumberUtils.jav a HibernateAccessor.jav a SpringSessionSy nchronization.jav a BeanDef initionvalueresolv er.java ExtendedEntity ManagerCreator.jav a ParameterMethodNameResolv er.java CallableStatementCreatorFactory.java BeanFactory AspectJAdvisorsBuilder.java CustomizableTraceInterceptor.jav a AbstractXsltView.jav a GenericCollectionTy peresolv er.java ArgumentConv ertingmethodinv oker.java SharedEntity ManagerCreator.jav a FreeMarkerConf igurationfactory.java SelectedValueComparator.jav a MockHttpServ letrequest.java FrameworkPortlet.jav a ResourceArray Property Editor.java AspectJWeav ermessagehandler.java MethodMapTransactionAttributeSource.jav a SingleConnectionFactory.java MessageListenerAdapter.jav a JdoTemplate.jav a DataSourceUtils.java Velocity View.jav a AbstractMessageListenerContainer.java SqlLobValue.jav a PortletRequestHandledEv ent.java JdbcOperations.jav a TxAdv icebeandef initionparser.java ArgTy pepreparedstatementsetter.jav a Ref reshablepagedlistholder.java AbstractJasperReportsSingleFormatView.java ClassUtils.java Simpl Message.jav a JmsTransactionManager.jav a TransactionAttributeEditor.jav a Def aultbeandef initiondocumentreader.java AbstractInterceptorDrivenBeanDefinitionDecorator.java ResultSetWrappingSqlRowSet.jav a HsqlMaxValueIncrementer.jav a CodebaseAwareObjectInputStream.jav a AbstractSingletonProxy FactoryBean.java LocalSlsbInv okerinterceptor.java BeansDtdResolv er.java AbstractMessageSource.jav a AbstractDependency InjectionSpringContextTests.java TomcatInstrumentableClassLoader.java LocalContainerEntity ManagerFactoryBean.java ResourceEntity Resolver.java RedirectView.jav a HtmlCharacterEntityReferences.java AbstractPathMapHandlerMapping.jav a AspectJPrecedenceComparator.java ResourceServ let.java Adv isedsupport.jav a EhCacheFactory Bean.java CustomCollectionEditor.java CommonsMultipartFile.jav a OpenEntity ManagerInViewFilter.jav a TopLinkInterceptor.jav a MethodInv okingjobdetailfactorybean.java Def aultnamespacehandlerresolver.java XmlValidationModeDetector.jav a GenericFilterBean.jav a HessianServ iceexporter.java Property AccessorUtils.java InstantiationModelAwarePointcutAdv isorimpl.java BooleanExpressionComplexity ClassDataAbstractionCoupling ClassFanOutComplexity CyclomaticComplexity FileLength MethodLength NestedIfDepth AnonInnerLength ParameterNumber MissingSwitchDefault TreeWalker
70 test to code ratio Lines of unit test code per line of production code /4/06 15/4/06 29/4/06 13/5/06 27/5/06 10/6/06 24/6/06 8/7/06 22/7/06 5/8/06 19/8/06 2/9/06 16/9/06 30/9/06 14/10/06 28/10/06 11/11/06 25/11/06 9/12/06 23/12/06 6/1/07 20/1/07 3/2/07 17/2/07 3/3/07 17/3/07 31/3/07 14/4/07 28/4/07 12/5/07 26/5/07 9/6/07 23/6/07 7/7/07 21/7/07 4/8/07 18/8/07 Releases Unit test LOC/LOC created using unix tools + excel
71 cc / loc / releases
72 look for... notifications along your key dimension toxicity: high-spikes test-to-code ratio: higher is better complexity / loc: trends deltas more interesting than raw numbers
73 Unveiling the beauty of statistics for a fact based world view. time-based statistical view of chart data founded in Stockholm by Ola Rosling, Anna Rosling Rönnlund and Hans Rosling now realized in the google spreadsheet motion gadget
74
75 the data
76 motion chart gadget
77 look for... time-based trends odd outliers along dimensions symmetry fluidity
78 CodeCrawler
79 CodeCrawler
80 CodeCrawler academic graphical metrics tool language independent written in VisualAge Smalltalk based on the Moose platform quirky but powerful
81 x-ray graduate student project written by Jacopo Malnati ( open-source software visualization plug-in for eclipse provides system complexity view, class & package dependency view model of the underlying Java project can be triggered and used by other plug-ins
82 x-ray visualizing itself through via system complexity view
83 using x-ray install the plug-in choose the Analyze Current Project action from the package explorer x-ray creates textual information and actions visualizations characterized by entities positioned according to layouts and criterions
84 actions # packages # methods open selected classes show/hide nodes show dependencies project name lines of code color tag # classes snapshot image show/hide package content
85 polymetric views system complexity view class dependency view package dependency view
86 system complexity view
87 system complexity view tries to illustrate disharmonies in the design and implementation of a system. identify big nodes (compared to the others) anomalies of shape (provided by the inheritance tree) view provides several different dimensions of metrics
88 positional metrics
89 system complexity view
90 color metrics
91 system complexity view
92 x-ray itself Azureus 3.0 (more than 500,000 lines of code)
93 dependencies outgoing incoming
94 class & package dependency views
95 class dependency view
96 package dependency
97 Azureus packages
98 filtering (< 30 weight)
99 proximity alert
100 look for... towers (=> lots of code, lots of methods) tangled dependencies exuberant responsibility natural partitions balance
101 10,000 ft view (literally) CodeCity by Richard Wettel
102 CodeCity integrated environment for software analysis software systems are visualized as interactive, navigable 3D cities written in VisualWorks Smalltalk, atop the Moose platform classes => buildings packages => districts
103 citylyzer
104 Citylyzer written atop x-ray inspired by CodeCity building height => number of methods width/length => number of attributes packages => districts
105
106
107
108
109 look for... real cityscape buildings that wouldn t exist in the real world overly crowded neighborhoods abandoned parts of town would you live there?
110 metrics + agility wire metrics & analysis into continuous integration manually check often discuss on iteration boundaries fail the build with: xpath expressions & plugins jdepend-like unit tests
111 summary intermediate altitude information radiators single dimensions compelling evidence cool!
112 ThoughtWorks? s please fill out the session evaluations samples at github.com/nealford NEAL FORD software architect / meme wrangler ThoughtWorks This work is licensed under the Creative Commons Attribution-Share Alike 3.0 License. nford@thoughtworks.com 3003 Summit Boulevard, Atlanta, GA blog: memeagora.blogspot.com twitter: neal4d
Software Visualization and Model Generation
Software Visualization and Model Generation Erik Doernenburg Software Developer ThoughtWorks, Inc. Gregor Hohpe Software Engineer Google, Inc. Where are the most defects? 2006 Erik Doernenburg & Gregor
More informationPercerons: A web-service suite that enhance software development process
Percerons: A web-service suite that enhance software development process Percerons is a list of web services, see http://www.percerons.com, that helps software developers to adopt established software
More informationEVALUATING METRICS AT CLASS AND METHOD LEVEL FOR JAVA PROGRAMS USING KNOWLEDGE BASED SYSTEMS
EVALUATING METRICS AT CLASS AND METHOD LEVEL FOR JAVA PROGRAMS USING KNOWLEDGE BASED SYSTEMS Umamaheswari E. 1, N. Bhalaji 2 and D. K. Ghosh 3 1 SCSE, VIT Chennai Campus, Chennai, India 2 SSN College of
More informationSoftware Engineering & Architecture
Software Engineering & Architecture 11. QUALITY METRICS AND VISUALIZATION Martin Kropp University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems References Some
More informationVisualization of Software Metrics Marlena Compton Software Metrics SWE 6763 April 22, 2009
Visualization of Software Metrics Marlena Compton Software Metrics SWE 6763 April 22, 2009 Abstract Visualizations are increasingly used to assess the quality of source code. One of the most well developed
More informationComprensione del software - principi base e pratica reale 5
Prologue C era una volta Comprensione del software - principi base e pratica reale Reverse engineer 1 200 000 lines of C++ code in ca. 2300 classes * 2 = 2 400 000 seconds / 3600 = 667 hours 667 hours
More informationMetric Tools for Java
Metric Tools for Java Zoran Putnik Department of Informatics and Mathematics, Faculty of Science, University of Novi Sad Free Metric Tools for Java JCSC CheckStyle JavaNCSC JMT Eclipse plug-in 4th Workshop
More informationHow They Do It in Switzerland Outsource the Code, Insource the Quality
McCabe IQ Analyzes and Visualizes Software Quality in Critical International Financial Systems Introduction This paper examines how a major Swiss financial services company analyzes and monitors the quality
More informationChapter 24 - Quality Management. Lecture 1. Chapter 24 Quality management
Chapter 24 - Quality Management Lecture 1 1 Topics covered Software quality Software standards Reviews and inspections Software measurement and metrics 2 Software quality management Concerned with ensuring
More informationQuality Analysis with Metrics
Rational software Quality Analysis with Metrics Ameeta Roy Tech Lead IBM, India/South Asia Why do we care about Quality? Software may start small and simple, but it quickly becomes complex as more features
More informationSTAN. Structure Analysis for Java. Version 2. White Paper. Fall 2009
STAN Structure Analysis for Java Version 2 White Paper Fall 2009 Abstract: This paper gives a brief introduction to structure analysis using STAN, a static code analysis tool bringing together Java development
More informationAutomatic software measurement data collection for students
Automatic software measurement data collection for students 1. Automatic software measurement within a software engineering class Software is invisible and complex, so it is difficult to understand the
More informationDefinitions. Software Metrics. Why Measure Software? Example Metrics. Software Engineering. Determine quality of the current product or process
Definitions Software Metrics Software Engineering Measure - quantitative indication of extent, amount, dimension, capacity, or size of some attribute of a product or process. Number of errors Metric -
More informationOpen Source Software: How Can Design Metrics Facilitate Architecture Recovery?
Open Source Software: How Can Design Metrics Facilitate Architecture Recovery? Eleni Constantinou 1, George Kakarontzas 2, and Ioannis Stamelos 1 1 Computer Science Department Aristotle University of Thessaloniki
More informationVragen en opdracht. Complexity. Modularity. Intra-modular complexity measures
Vragen en opdracht Complexity Wat wordt er bedoeld met design g defensively? Wat is het gevolg van hoge complexiteit icm ontwerp? Opdracht: http://www.win.tue.nl/~mvdbrand/courses/se/1011/opgaven.html
More informationSoftware Analysis Visualization
28th International Conference on Software Engineering Software Analysis Visualization Harald Gall and Michele Lanza !oftware Visualiza"o# Tutorial F7 Software Evolution: Analysis and Visualization 2006
More informationPattern Languages for Architecture Visualization
Pattern Languages for Architecture Visualization YOUNGSU SON, NHN NEXT JIWON KIM, SAMSUNG ELECTRONICS SUNGWOO YU, NHN NEXT HYUNCHUL YANG, UNIVERSITY OF SEOUL HYESEONG OH, SEJONG UNIVERSITY SEUNGSU JEONG,
More informationDesign methods. List of possible design methods. Functional decomposition. Data flow design. Functional decomposition. Data Flow Design (SA/SD)
Design methods List of possible design methods Functional decomposition Data Flow Design (SA/SD) Design based on Data Structures (JSD/JSP) OO is good, isn t it Decision tables E-R Flowcharts FSM JSD JSP
More informationContinuous Integration
Continuous Integration Improving Software Quality with Continuous Integration Continuous Integration In a nutshell Continuous Integration (CI) is: Assembling software every time code changes CI is important
More informationChap 4. Using Metrics To Manage Software Risks
Chap 4. Using Metrics To Manage Software Risks. Introduction 2. Software Measurement Concepts 3. Case Study: Measuring Maintainability 4. Metrics and Quality . Introduction Definition Measurement is the
More informationContents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53
Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software
More informationGECKO Software. Introducing FACTORY SCHEMES. Adaptable software factory Patterns
Introducing FACTORY SCHEMES Adaptable software factory Patterns FACTORY SCHEMES 3 Standard Edition Community & Enterprise Key Benefits and Features GECKO Software http://consulting.bygecko.com Email: Info@gecko.fr
More informationSoftware Evolution Analysis & Visualization
Software Evolution Analysis & Visualization Harald C. Gall s.e.a.l. - software evolution & architecture lab University of Zurich, Switzerland http://seal.ifi.uzh.ch/gall University of Zurich Department
More informationSoftware Visualization
Software Visualization CS 4460 Last Revision: November 2015 Software Visualization Definition The use of the crafts of typography, graphic design, animation, and cinematography with modern humancomputer
More informationAnalyzing Java Software by Combining Metrics and Program Visualization
Analyzing Java Software by Combining Metrics and Program Visualization Tarja Systä Software Systems Laboratory Tampere University of Technology P.O. Box 553, FIN-33101 Tampere, Finland tsysta@cs.tut.fi
More informationProgram Understanding with Code Visualization
Program Understanding with Code Visualization Arif Iftikhar Department of Computer Science National University of Computer and Emerging Sciences 852-B Faisal Town, Lahore, Pakistan l060802@lhr.nu.edu.pk
More informationSoftware infrastructure for Java development projects
Tools that can optimize your development process Software infrastructure for Java development projects Presentation plan Software Development Lifecycle Tools What tools exist? Where can tools help? Practical
More informationTracking the Evolution of Object-Oriented Quality Metrics on Agile Projects
Tracking the Evolution of Object-Oriented Quality Metrics on Agile Projects Danilo Sato, Alfredo Goldman, and Fabio Kon Department of Computer Science University of São Paulo, Brazil {dtsato, gold, kon}@ime.usp.br
More informationQuality prediction model for object oriented software using UML metrics
THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS TECHNICAL REPORT OF IEICE. UML Quality prediction model for object oriented software using UML metrics CAMARGO CRUZ ANA ERIKA and KOICHIRO
More informationBugMaps-Granger: A Tool for Causality Analysis between Source Code Metrics and Bugs
BugMaps-Granger: A Tool for Causality Analysis between Source Code Metrics and Bugs César Couto 1,2, Pedro Pires 1, Marco Túlio Valente 1, Roberto S. Bigonha 1, Andre Hora 3, Nicolas Anquetil 3 1 Department
More informationResearch Article An Empirical Study of the Effect of Power Law Distribution on the Interpretation of OO Metrics
ISRN Software Engineering Volume 213, Article ID 198937, 18 pages http://dx.doi.org/1.1155/213/198937 Research Article An Empirical Study of the Effect of Power Law Distribution on the Interpretation of
More informationSoftware Defect Prediction Tool based on Neural Network
Software Defect Prediction Tool based on Neural Network Malkit Singh Student, Department of CSE Lovely Professional University Phagwara, Punjab (India) 144411 Dalwinder Singh Salaria Assistant Professor,
More informationWhat is Visualization? Information Visualization An Overview. Information Visualization. Definitions
What is Visualization? Information Visualization An Overview Jonathan I. Maletic, Ph.D. Computer Science Kent State University Visualize/Visualization: To form a mental image or vision of [some
More informationA Framework for Dynamic Software Analysis & Application Performance Monitoring
A Framework for Dynamic Software Analysis & Application Performance Monitoring Dr. Ashish Oberoi 1, Pallavi 2 1 (Cse, / M.M Engineering College, India) 2 (Cse, / M.M Engineering College, India) Abstract
More informationBaseline Code Analysis Using McCabe IQ
White Paper Table of Contents What is Baseline Code Analysis?.....2 Importance of Baseline Code Analysis...2 The Objectives of Baseline Code Analysis...4 Best Practices for Baseline Code Analysis...4 Challenges
More informationQuantitative Evaluation of Software Quality Metrics in Open-Source Projects
Quantitative Evaluation of Software Quality Metrics in Open-Source Projects Henrike Barkmann Rüdiger Lincke Welf Löwe Software Technology Group, School of Mathematics and Systems Engineering Växjö University,
More informationMEASURING AND QUANTIFYING WEB APPLICATION DESIGN
University of Montana ScholarWorks Theses, Dissertations, Professional Papers 2012 MEASURING AND QUANTIFYING WEB APPLICATION DESIGN Craig A. McNinch The University of Montana Follow this and additional
More informationBugMaps-Granger: a tool for visualizing and predicting bugs using Granger causality tests
Couto et al. Journal of Software Engineering Research and Development 2014, 2:1 SOFTWARE Open Access BugMaps-Granger: a tool for visualizing and predicting bugs using Granger causality tests Cesar Couto
More informationEmpirical study of software quality evolution in open source projects using agile practices
1 Empirical study of software quality evolution in open source projects using agile practices Alessandro Murgia 1, Giulio Concas 1, Sandro Pinna 1, Roberto Tonelli 1, Ivana Turnu 1, SUMMARY. 1 Dept. Of
More informationCodeCrawler An Extensible and Language Independent 2D and 3D Software Visualization Tool
CodeCrawler An Extensible and Language Independent 2D and 3D Software Visualization Tool Michele Lanza Software Engineering Group Department of Informatics University of Zurich, Switzerland Stéphane Ducasse
More informationEffective Visualization Techniques for Data Discovery and Analysis
WHITE PAPER Effective Visualization Techniques for Data Discovery and Analysis Chuck Pirrello, SAS Institute, Cary, NC Table of Contents Abstract... 1 Introduction... 1 Visual Analytics... 1 Static Graphs...
More informationTDAQ Analytics Dashboard
14 October 2010 ATL-DAQ-SLIDE-2010-397 TDAQ Analytics Dashboard A real time analytics web application Outline Messages in the ATLAS TDAQ infrastructure Importance of analysis A dashboard approach Architecture
More informationWebSphere Business Monitor
WebSphere Business Monitor Dashboards 2010 IBM Corporation This presentation should provide an overview of the dashboard widgets for use with WebSphere Business Monitor. WBPM_Monitor_Dashboards.ppt Page
More informationSynopsis: Title: Software Quality. Theme: Information Systems. Project Term: 9th semester, fall 2013. Project Group: sw907e13
SOFTWARE QUAL I TY WHATCODEMETRI CSCANTELLUS Title: Software Quality Theme: Information Systems Project Term: 9th semester, fall 2013 Project Group: sw907e13 Students: Kristian Kolding Foged-Ladefoged
More informationEclipse 3.5 - A Case Study in Software Visualization Based on Static Analysis
MetricAttitude: A Visualization Tool for the Reverse Engineering of Object Oriented Software ABSTRACT Michele Risi Dipartimento di Matematica e Informatica Università di Salerno Fisciano, Italy mrisi@unisa.it
More informationTesting Metrics. Introduction
Introduction Why Measure? What to Measure? It is often said that if something cannot be measured, it cannot be managed or improved. There is immense value in measurement, but you should always make sure
More informationA Programming Language Independent Framework for Metrics-based Software Evolution and Analysis
DOI: 10.2298/CSIS120104026G A Programming Language Independent Framework for Metrics-based Software Evolution and Analysis Črt Gerlec 1, Gordana Rakić 2, Zoran Budimac 2, Marjan Heričko 1 1 Institute of
More informationOn the Statistical Distribution of Object-Oriented System Properties
On the Statistical Distribution of Object-Oriented System Properties Israel Herraiz Technical University of Madrid Madrid, Spain israel.herraiz@upm.es Daniel Rodriguez University of Alcala Alcala de Henares,
More informationImproving Software Quality with the Continuous Integration Server Hudson. Dr. Ullrich Hafner Avaloq Evolution AG 8911
Improving Software Quality with the Continuous Integration Server Hudson Dr. Ullrich Hafner Avaloq Evolution AG 8911 AGENDA 2 > INTRODUCTION TO CI AND HUDSON > USING STATIC ANALYSIS IN PROJECTS > DEMO
More informationSoftware Metrics in Static Program Analysis
www.redlizards.com Software Metrics in Static Program Analysis ICFEM, 11/18/2010 Andreas Vogelsang 1, Ansgar Fehnker 2, Ralf Huuck 2, Wolfgang Reif 3 1 Technical University of Munich 2 NICTA, Sydney 3
More informationA metrics suite for JUnit test code: a multiple case study on open source software
Toure et al. Journal of Software Engineering Research and Development (2014) 2:14 DOI 10.1186/s40411-014-0014-6 RESEARCH Open Access A metrics suite for JUnit test code: a multiple case study on open source
More informationStructural Complexity Evolution in Free Software Projects: A Case Study
Structural Complexity Evolution in Free Software Projects: A Case Study Antonio Terceiro and Christina Chavez Computer Science Department Universidade Federal da Bahia {terceiro,flach}@dcc.ufba.br Abstract.
More informationSoftware Engineering Best Practices. Christian Hartshorne Field Engineer Daniel Thomas Internal Sales Engineer
Software Engineering Best Practices Christian Hartshorne Field Engineer Daniel Thomas Internal Sales Engineer 2 3 4 Examples of Software Engineering Debt (just some of the most common LabVIEW development
More informationAnalizo: an Extensible Multi-Language Source Code Analysis and Visualization Toolkit
Analizo: an Extensible Multi-Language Source Code Analysis and Visualization Toolkit Antonio Terceiro 1, Joenio Costa 2, João Miranda 3, Paulo Meirelles 3, Luiz Romário Rios 1, Lucianna Almeida 3, Christina
More informationCS171 Visualization. The Visualization Alphabet: Marks and Channels. Alexander Lex alex@seas.harvard.edu. [xkcd]
CS171 Visualization Alexander Lex alex@seas.harvard.edu The Visualization Alphabet: Marks and Channels [xkcd] This Week Thursday: Task Abstraction, Validation Homework 1 due on Friday! Any more problems
More informationObject Oriented Design
Object Oriented Design Kenneth M. Anderson Lecture 20 CSCI 5828: Foundations of Software Engineering OO Design 1 Object-Oriented Design Traditional procedural systems separate data and procedures, and
More informationVisualizing an Auto-Generated Topic Map
Visualizing an Auto-Generated Topic Map Nadine Amende 1, Stefan Groschupf 2 1 University Halle-Wittenberg, information manegement technology na@media-style.com 2 media style labs Halle Germany sg@media-style.com
More informationExploring the Differing Usages of Programming Language Features in Systems Developed in C++ and Java
Exploring the Differing Usages of Programming Language Features in Systems Developed in C++ and Java Michael English 1 and Patrick McCreanor 2 1 Lero, Computer Science and Information Systems Department,
More informationJenkins: The Definitive Guide
Jenkins: The Definitive Guide John Ferguson Smart O'REILLY8 Beijing Cambridge Farnham Koln Sebastopol Tokyo Table of Contents Foreword xiii Preface xv 1. Introducing Jenkins 1 Introduction 1 Continuous
More informationObject Oriented Metrics Based Analysis of DES algorithm for secure transmission of Mark sheet in E-learning
International Journal of Computer Sciences and Engineering Open Access Research Paper Volume-4, Special Issue- E-ISSN: 347-693 Object Oriented Metrics Based Analysis of DES algorithm for secure transmission
More information<Insert Picture Here> Oracle SQL Developer 3.0: Overview and New Features
1 Oracle SQL Developer 3.0: Overview and New Features Sue Harper Senior Principal Product Manager The following is intended to outline our general product direction. It is intended
More informationReducing Technical Debt Using Maintainability Index
Reducing Technical Debt Using Maintainability Index Too much debt can be bad for business. We are all familiar with the negative repercussions that financial debt can cause. Technical debt, and the cost
More informationInternational Journal of Software Engineering and Knowledge Engineering c World Scientific Publishing Company
International Journal of Software Engineering and Knowledge Engineering c World Scientific Publishing Company Rapid Construction of Software Comprehension Tools WELF LÖWE Software Technology Group, MSI,
More informationResearch Article Predicting Software Projects Cost Estimation Based on Mining Historical Data
International Scholarly Research Network ISRN Software Engineering Volume 2012, Article ID 823437, 8 pages doi:10.5402/2012/823437 Research Article Predicting Software Projects Cost Estimation Based on
More informationDevelopment of a 3D tool for visualization of different software artifacts and their relationships. David Montaño Ramírez
Development of a 3D tool for visualization of different software artifacts and their relationships David Montaño Ramírez Development of a 3D tool for visualization of different software artifacts and their
More informationFault Prediction Using Statistical and Machine Learning Methods for Improving Software Quality
Journal of Information Processing Systems, Vol.8, No.2, June 2012 http://dx.doi.org/10.3745/jips.2012.8.2.241 Fault Prediction Using Statistical and Machine Learning Methods for Improving Software Quality
More informationVISUALIZATION APPROACH FOR SOFTWARE PROJECTS
Canadian Journal of Pure and Applied Sciences Vol. 9, No. 2, pp. 3431-3439, June 2015 Online ISSN: 1920-3853; Print ISSN: 1715-9997 Available online at www.cjpas.net VISUALIZATION APPROACH FOR SOFTWARE
More informationProgram Understanding in Software Engineering
Taming the complexity: The need for program understanding in software engineering Raghvinder S. Sangwan, Ph.D. Pennsylvania State University, Great Valley School of Graduate Professional Studies Robert
More informationWhite Paper. How Streaming Data Analytics Enables Real-Time Decisions
White Paper How Streaming Data Analytics Enables Real-Time Decisions Contents Introduction... 1 What Is Streaming Analytics?... 1 How Does SAS Event Stream Processing Work?... 2 Overview...2 Event Stream
More informationUsing Code Quality Metrics in Management of Outsourced Development and Maintenance
Using Code Quality Metrics in Management of Outsourced Development and Maintenance Table of Contents 1. Introduction...3 1.1 Target Audience...3 1.2 Prerequisites...3 1.3 Classification of Sub-Contractors...3
More informationAgile Development with Jazz and Rational Team Concert
Agile Development with Jazz and Rational Team Concert Mayank Parikh mayank.parikh.@in.ibm.com Acknowledgements: Thanks to Khurram Nizami for some of the slides in this presentation Agile Values: A Foundation
More informationINTRODUCTION TO BUSINESS PROCESS MODELING NOTATION BPMN 1.2 AND BPMN 2.0
INTRODUCTION TO BUSINESS PROCESS MODELING NOTATION BPMN 1.2 AND BPMN 2.0 Email: {goliva,gerosa}@ime.usp.br / Twitter: @golivax Agenda 2 Introduction to Business Processes BPMN 1.2 Introduction Elements
More informationtools that make every developer a quality expert
tools that make every developer a quality expert Google: www.google.com Copyright 2006-2010, Google,Inc.. All rights are reserved. Google is a registered trademark of Google, Inc. and CodePro AnalytiX
More informationThe «SQALE» Analysis Model An analysis model compliant with the representation condition for assessing the Quality of Software Source Code
The «SQALE» Analysis Model An analysis model compliant with the representation condition for assessing the Quality of Software Source Code Jean-Louis Letouzey DNV IT Global Services Arcueil, France jean-louis.letouzey@dnv.com
More informationSOA-14: Continuous Integration in SOA Projects Andreas Gies
Distributed Team Building Principal Architect http://www.fusesource.com http://open-source-adventures.blogspot.com About the Author Principal Architect PROGRESS - Open Source Center of Competence Degree
More informationHow To Calculate Class Cohesion
Improving Applicability of Cohesion Metrics Including Inheritance Jaspreet Kaur 1, Rupinder Kaur 2 1 Department of Computer Science and Engineering, LPU, Phagwara, INDIA 1 Assistant Professor Department
More informationUPROM Tool: A Unified Business Process Modeling Tool for Generating Software Life Cycle Artifacts
UPROM Tool: A Unified Business Process Modeling Tool for Generating Software Life Cycle Artifacts Banu Aysolmaz 1 and Onur Demirörs 2 1, 2 Informatics Institute, Middle East Technical University, Ankara,
More informationWebSphere Business Monitor
WebSphere Business Monitor Monitor sub-models 2010 IBM Corporation This presentation should provide an overview of the sub-models in a monitor model in WebSphere Business Monitor. WBPM_Monitor_MonitorModels_Submodels.ppt
More informationSoftware Development In the Cloud Cloud management and ALM
Software Development In the Cloud Cloud management and ALM First published in Dr. Dobb's Journal, February 2009: http://www.ddj.com/development-tools/212900736 Nick Gulrajani is a Senior Solutions Architect
More informationDistributed Computing and Big Data: Hadoop and MapReduce
Distributed Computing and Big Data: Hadoop and MapReduce Bill Keenan, Director Terry Heinze, Architect Thomson Reuters Research & Development Agenda R&D Overview Hadoop and MapReduce Overview Use Case:
More informationBusiness Intelligence and Process Modelling
Business Intelligence and Process Modelling F.W. Takes Universiteit Leiden Lecture 2: Business Intelligence & Visual Analytics BIPM Lecture 2: Business Intelligence & Visual Analytics 1 / 72 Business Intelligence
More informationUnit 11: Software Metrics
Unit 11: Software Metrics Objective Ð To describe the current state-of-the-art in the measurement of software products and process. Why Measure? "When you can measure what you are speaking about and express
More informationhttp://www.wakaleo.com john.smart@wakaleo.com Java Software Quality Tools and techniques
Wakaleo Consulting O p t i m i z i n g y o u r s o f t w a r e d e v e l o p m e n t http://www.wakaleo.com john.smart@wakaleo.com Java Software Quality Tools and techniques 1 Introduction Agenda tools
More informationTeamCity A Professional Solution for Delivering Quality Software, on Time
TeamCity A Professional Solution for Delivering Quality Software, on Time Vaclav Pech Senior Software Developer JetBrains, Inc. About Us Vaclav Pech Professional software developer for 9 years IntelliJ
More informationVMware vrealize Log Insight User's Guide
VMware vrealize Log Insight User's Guide vrealize Log Insight 2.5 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by a new
More informationWebRatio 5: An Eclipse-based CASE tool for engineering Web applications
WebRatio 5: An Eclipse-based CASE tool for engineering Web applications Roberto Acerbis 1, Aldo Bongio 1, Marco Brambilla 2, Stefano Butti 1 1 WebModels S.r.l. Piazzale Gerbetto, 6. I22100 Como, Italy
More information6 th Annual EclipseCon Introduction to BIRT Report Development. John Ward
6 th Annual EclipseCon Introduction to BIRT Report Development John Ward BIRT and Us Who am I? Who are you? Who am I? John Ward, BIRT user Independent BIRT Enthusiast Author: Practical Data Analysis and
More informationPéter Hegedűs, István Siket MTA-SZTE Research Group on Artificial Intelligence, Szeged, Hungary {hpeter,siket}@inf.u-szeged.hu
QualityGate SourceAudit: A Tool for Assessing the Technical Quality of Software Tibor Bakota FrontEndART Software Ltd. Zászló u. 3 I./5. H-6722 Szeged, Hungary bakotat@frontendart.com Péter Hegedűs, István
More informationA methodology for measuring software development productivity using Eclipse IDE
Proceedings of the 9 th International Conference on Applied Informatics Eger, Hungary, January 29 February 1, 2014. Vol. 2. pp. 255 262 doi: 10.14794/ICAI.9.2014.2.255 A methodology for measuring software
More informationINFOASSIST: REPORTING MADE SIMPLE
INFOASSIST: REPORTING MADE SIMPLE BRIAN CARTER INFORMATION BUILDERS SUMMIT 2010 USERS CONFERENCE JUNE 2010 Presentation Abstract: InfoAssist, WebFOCUS' browser-based ad hoc reporting tool, provides a single
More informationBIS 3106: Business Process Management. Lecture Two: Modelling the Control-flow Perspective
BIS 3106: Business Process Management Lecture Two: Modelling the Control-flow Perspective Makerere University School of Computing and Informatics Technology Department of Computer Science SEM I 2015/2016
More informationUnderstanding Software Static and Dynamic Aspects
Understanding Software Static and Dynamic Aspects Welf Löwe IPD, Universität Karlsruhe PF 6980, 76128 Karlsruhe Germany loewe@ira.uka.de Andreas Ludwig IPD, Universität Karlsruhe PF 6980, 76128 Karlsruhe
More informationWebSphere Business Monitor
WebSphere Business Monitor Monitor models 2010 IBM Corporation This presentation should provide an overview of monitor models in WebSphere Business Monitor. WBPM_Monitor_MonitorModels.ppt Page 1 of 25
More informationJenkins Continuous Build System. Jesse Bowes CSCI-5828 Spring 2012
Jenkins Continuous Build System Jesse Bowes CSCI-5828 Spring 2012 Executive summary Continuous integration systems are a vital part of any Agile team because they help enforce the ideals of Agile development
More informationXFlash A Web Application Design Framework with Model-Driven Methodology
International Journal of u- and e- Service, Science and Technology 47 XFlash A Web Application Design Framework with Model-Driven Methodology Ronnie Cheung Hong Kong Polytechnic University, Hong Kong SAR,
More informationCoordinated Visualization of Aspect-Oriented Programs
Coordinated Visualization of Aspect-Oriented Programs Álvaro F. d Arce 1, Rogério E. Garcia 1, Ronaldo C. M. Correia 1 1 Faculdade de Ciências e Tecnologia Universidade Estadual Paulista Júlio de Mesquita
More informationDoes the Act of Refactoring Really Make Code Simpler? A Preliminary Study
Does the Act of Refactoring Really Make Code Simpler? A Preliminary Study Francisco Zigmund Sokol 1, Mauricio Finavaro Aniche 1, Marco Aurélio Gerosa 1 1 Department of Computer Science University of São
More informationGoal Setting and the Software Design Process
Analysis of designers work Master s Thesis Joost Meijles Thursday, 2005 July 14 1 year Master Software Engineering Supervisors Universiteit van Amsterdam Prof. Dr. P. Klint Philips Medical Systems Ir.
More informationSoftware Metrics as Benchmarks for Source Code Quality of Software Systems
Software Metrics as Benchmarks for Source Code Quality of Software Systems Julien Rentrop August 31, 2006 One Year Master Course Software Engineering Thesis Supervisor: Dr. Jurgen Vinju Internship Supervisor:
More informationUnderstanding Data: A Comparison of Information Visualization Tools and Techniques
Understanding Data: A Comparison of Information Visualization Tools and Techniques Prashanth Vajjhala Abstract - This paper seeks to evaluate data analysis from an information visualization point of view.
More information