A Visualization Method to Support Impacts Analysis in Program Understanding
|
|
|
- Roy Berry
- 9 years ago
- Views:
Transcription
1 A Visualization Method to Support Impacts Analysis in Program Understanding Rita Noremi Bt Mohamad Centre for Advanced Software Engineering (CASE) Universiti Teknologi Malaysia Kuala Lumpur, Malaysia Norbik Bashah Idris Centre for Advanced Software Engineering (CASE) Universiti Teknologi Malaysia Kuala Lumpur, Malaysia Suhaimi Ibrahim Centre for Advanced Software Engineering (CASE) Universiti Teknologi Malaysia Kuala Lumpur, Malaysia ABSTRACT The software need to undergo some changes is to make the software product more reliable and trustworthy. Thus, the developer is responsible to do the changes to make trustworthy software. The changes of the code might be affected to other part of code. These situations make the developer spend more time to find the affected line in entire code. Change Impact Analysis (CIA) method will be apply to support the developer s program understanding to seek the potential affect or dependency information such as inheritance, Friend, Composition, Calls and Aggregation. A visualization method is applied to make the method effective for program understanding. The visualization method are be use as the tools to represent CIA into graphical that able to guide the developer seeking the potential affect in the line of code. The prototype was developed to combine CIA and visualization method based on C++ Object-Oriented language to enhance program understanding. The prototype called CIA-V will guide the developer to understand the program through diagram and save the time to find affected code. Keywords Program understanding, change impact analysis, visualization method 1. INTRODUCTION In software evolutionary, there have an issue of making software changes in the source code program while the rest of the work products remained not updated. As the source code remains the most reliable artifact, it is clearly accepted by many researchers that codes are the most reference point to maintenance tasks. It is a great challenge to collect all the required software knowledge available in the source code and presents it in the way that is easily understood by the developer. In this paper, the researcher will focus on a mechanism how to handle visualization techniques to facilitate CIA in C++ object-oriented program understanding. CIA was providing one mechanism to aid program understanding. CIA is regarding a study of component relationships and their ripple effects within software [1]. It makes the potential affects visible before the changes are implemented. The CIA is identified the consequences or ripple-effects of software changes to avoid increasing in labors intensive and error prone. Beside that, CIA can reduce the risks of embarking on a costly change. It s because the cost of unexpected problems generally increases with the lateness of their discovery in the software maintenance process. The recent Year 2000 (Y2K) date phenomenon was a good example of why change impact analysis is needed to identify impacts of software change [2]. CIA is implementing with visualization to make it program understanding more useful to the developers or maintainers. In spite of CIA visualization techniques is use to facilitate CIA in program understanding process. This technique is use to described abstract software artifacts and their relations. According to Price et al. [3], software visualization is use for interactive computer graphics, typography, graphic design, animation and cinematography to enhance interface between the software engineers or the computer science student and their program. In this manner, the visualization techniques are a good support tool to aid visualizes the impacted code to a graphical mode and enhancing the program understanding. The ability to visualize the program dependencies and relations will greatly assist a maintainer or management to determine appropriate actions to take with respect to decision-making. 2. CONCEPT Before we go further, there are several concepts or approach that will discuss in this research. The concepts that will concentrate on this research are: i. Program Understanding ii. Change Impact Analysis iii. Relationship in Change Impact iv. Visualization Method This entire concept is related to each other. Program understanding need to use Change Impact Analysis with visualization to enhance understands capability in object-oriented program. 2.1 Program Understanding Program understanding is an important part in software maintenance phase. It is a highly complex task for a number of reasons. It s described the meaning and structure of a software system. The developers need this method to understand the program very well before the changes process is implemented.
2 Software maintenance takes over 50% of the total expenditure that is allocated to a software system during its lifetime and program understanding takes at least 50% of the time spent on the maintenance task [4]. The ability to understand the program and the required visualization is an essential to the software maintenance process. Therefore, program understanding needs one mechanism tool to make understanding process more effective. 2.2 Change Impact Analysis (CIA) Change Impact in regular term is an effect or impression from state and in terminology term is a sequence of impact. Change Impact Analysis or Impact Analysis (IA) is use to: i. Determine the scope and complexity of the software change. ii. Determine change request scope and plan a resource of every particular change. iii. Estimate maintenance cost because maintenance phase is too costly. CIA is use to assess and analysis a change to the code of the module on the other module of the system and determines the scope of a change and provides a measure of its complexity CIA Techniques There are several types of techniques in CIA. Arnold and Bohner [5] was list the techniques that former researcher use. The techniques are: i. Cross-reference - to look at part of program that consist reference to variable and procedure. ii. Program Slicing to determine program subset that will effect to variable value given. iii. Program Browser traverse the program with open and iv. close related file. Traceability tracing changes code using Problem Change Request (PCR) given. v. Design and specification reference - changing the code by refer to design and specification Change Impacts Granularity Level The change impact can be implementing at every level of granularity. Base on Figure 1, this work defines four hierarchical levels of granularity: a) class level b) method level c) package level d) relationship level Change impact granularity is depending on modification of source code. For example at the method level, the change impact process can be used to identify potentially affected methods due to a change in one method. The change impact process should also be performed across different levels of granularity. For example, a change made to a method may affect the classes, packages or relationship. Relationship existed in classes and methods. If classes or methods were change, relationship level will impact either small or wide impact. To implement granularity level, program slicing will use to identify dependency between artifacts. This work defines two type of dependency: a) Data b) Control Two type of dependency (Table 1) are used to define the dependency in granularity level. The dependency can be defined through data or control flow graph. Table 1. Change Impact dependency Type of level Dependency Class level Data Method level Data and control package level Data and Control Relationship level Data For example, data and control dependency will be use when control statement like if-then-else, while or for appeared in the source code. This control statement usually appeared in methods body. 2.3 Relationship in Change Impact Relationships between classes are describing in Table 2. Relationships can divide into two types. There are direct and indirect relationships. A direct relationship is shown in Table 1. For instance, Class A is super class for Class B and C. Class B is derived from Class B. It s mean Class A and B is an inheritance relationship. This relationship is called direct relationship. When Class A has some changes, Class B will impact. The impact class is called as direct impact. Class C also affected because Class C is part of Class B. This type is called indirect impact and relationship between Class A and C is indirect relationship. Relationship Type Table 2. Relationship Type Relationship Change Impact Signs Signs Inheritance Class x Class Class B Class A Association Class x Method methodb1() Class A Aggregation Class x Class Class x Method Class B Class A methodb1() Class A Composition Friend Class x Class Class x Method Class x Class Method x Class Class B Class A methodb1() Class A Class C Class B Class B methodc1() Invocation Method x Method methodb1() methoda1() Creation Class x Class Class x Method Class B Class A methodb1() Class A Data Uses Class x Class Class x Method Class B Class A methodb1() Class A Definition Class x Method Class A methoda1() Figure 1. Change Impact Granularity Level
3 2.4 Visualization Method Visualization techniques as a means toward helping developers better understand what their programs are doing. Visualization technique has a two type. The types are: i. Static is focusing on source code that will visualize program structure and code components analysis. At this point, object-oriented programming will use as a research material. ii. Dynamic is focusing on run-time program that will visualize behavior of program during program execution. There are several techniques to implement visualization. But in this paper, we focus on two techniques: i. Fisheye view [6] ii. SHRiMP view [7,8] Fisheye View Fisheye view is to view hypergraph node. A fisheye view is to manipulate a large graph on a small screen. Fisheye strategy is to provide a balance of local detail and global context in one view. This display method is based on the fisheye lens metaphor where objects in the center of the view are magnified and objects further from the center are reduce in size [7]. (a) (b) (c) Figure 3. (a) before scaling. (b) Center node by a desire scale. (c) The node and its siblings are scaled to fit inside the screen using SHriMP.[7,8] SHriMP view was formerly introduced in RIGI [9]. Beside fisheye view, SHriMP also has a nested graph to use for drill-down information. The nested graph is containing composites node that conveys parent-child relationship in hierarchy [7]. Figure 4 (a) shows a class hierarchy that is displayed as a nested graph in Figure 4(b). For instance, click Class A, the program will display child of Class A. (a) (b) Figure 4 (a) A tree view hierarchy. (b) A nested graph view of the same hierarchy Figure 2. Fisheye- View Figure 2 is an example of fisheye view. Local detail is needed for the local interaction with a structure [6]. For instance, display nearest node such as Class A, Class D and Class E. Class C as main node and is called fisheye. Global context is needed to tell what other parts of the structure exist and where the part in the graph 6] SHRiMP View The SHriMP visualization technique employs nested-graph formalism and a fisheye-view algorithm for manipulating large graphs that provides contextual cues and preserves constraints such as orthogonality and proximity among individually resizable nodes [7]. 3. APPROACH 3.1 CIA-V CIA-V is the short name to Change Impact Analysis-Visualization. CIA-V is a technique that combines visualization technique and CIA to enhance program understanding more effective. Research related to this work primarily comes from the source code based maintenance of object-oriented software. This technique have two phases that as shown in Figure 5. The SHriMP layout adjustment algorithm is elegant in its simplicity. Nodes in the graph uniformly give up screen space to allow a node of interest grow [6]. Figure 3 (a), (b) and (c) is SHriMP fisheye views that provide uniformly resize node automatically and manage the screen space available rather than fisheye view. Figure 5. CIA-V Overview
4 3.1.1 TokenAnalyzer TokenAnalyzer is a parser engine that constructs a knowledge-base on object-oriented component information from C++ source code. The engine will collect information regarding classes, methods and relationship. This information will store into repository CATIA Configuration Artifact Traceability for Change Impact Analysis (CATIA) is used TokenAnalyzer information to build traceability graph for CIA. CATIA [10] is regarding requirement relationship, design, code components, test cases and others traceability relationship between artifacts. CATIA s results are a potential affect will store into repository and text file. Figure 6 is an result from CATIA after generate the impact. For instance, mtd2 is a change code that reacts as a primary artifact and secondary artifact will identify the impact in code. In this case, mtd2 will impact methods, classes, packages, test cases and requirement. See the results in Figure PROTOTYPE Figure 7. CIA-V feature Prototype was developing to demonstrate CIA-V. This prototype is a tool as a guide for developer team to understanding program very easily. Beside that, developer would know actual impact before make a decision to do the changes. 4.1 Scenario and Results In this research, On-Board Automobile System (OBA) is use as a program to apply in CIA-V prototype. The scenario will base on three artifacts such as methods, classes and packages. The Figure 8 and 9 is the primary and secondary artifact screen as a main input screen. The result or output will display as textual and graphical screen as shown at figure CIA-V Technique Figure 6. Output of CATIA [10] CIA-V is one of the technique that combine CIA and visualization. CIA-V is using CATIA s results to turn the results into meaningful diagram. CIA-V has some feature to understand the code easily. The features that are provided (Refer to Figure 7): i. Top-bottom analysis Information from package level to relationship level. ii. Bottom-up analysis Information from relationship level to package iii. Drill-down diagram For instance, methodc1 is belong to Class C. iv. Relationship information Information related relationship between object-oriented components. Figure 8. Primary Artifacts Listing will base on selected artifact.
5 4.1.1 Methods Table 3 is an example method listing for primary artifact. Table 3. Example methods (Primary artifact) Method ID mtd1 drivingstationhandler() mtd2 getstate() mtd3 ison() In this case, I choose mtd2 or getstate() as a method code to change. Then, secondary artifact will generate the impact. The result was display graphical and textual mode. Figure 9. Secondary Artifacts Impact will base on selected primary artifact. Scenario 1: A secondary artifact is Method. Refer table 4 as a result in textual and Figure 11 as visualization with relationship information. Table 4. Result from Impacted Method Method ID mtd1 drivingstationhandler() mtd2 getstate() mtd14 getoperationsignal() mtd16 checkcruisemodel() (a) Figure 11. Visualization - method to methods Scenario 2: A secondary artifact is Classes. Refer table 5 as a result in textual and Figure 12 as visualization. Class ID cls1 cls2 cls8 Table 5. Result from Impacted Classes CDrivingStation Cpedal CCruiseManager, (b) Figure 10. (a)result in Textual. (b) Result in graphical
6 Table 8. Result from Impacted Method Method ID mtd1 drivingstationhandler() mtd2 getstate() mtd14 getoperationsignal() mtd16 checkcruisemodel() Figure 12. Visualization - method to classes Scenario 3: A secondary artifact is Packages. Refer table 6 as a result in textual and Figure 13 as visualization. Table 6. Result from Impacted Packages Package ID pkg1 DrivingStation pkg4 CruiseMgmt, Figure 14. Visualization - classes to methods Scenario 2: A secondary artifact is Classes. Refer table 9 as a result in textual and Figure 15 as visualization. Class ID cls1 Table 9. Result from Impacted Classes CDrivingStation Figure 13. Visualization - methods to packages Classes Table 7 is an example classes listing for primary artifact. Class ID cls1 CDrivingStation cls2 Cpedal cls3 Cignition Table 7. Example classes (Primary artifact) I choose cls2 or Cpedal as a class to change. Then, secondary artifact will generate the impact. The result was display graphical and textual mode. Scenario 1: A secondary artifact is Method. Refer table 8 as a result in textual and Figure 14 as visualization with relationship information. Figure 15. Visualization - classes to classes Scenario 3: A secondary artifact is Packages. Refer table 10 as a result in textual and Figure 16 as visualization. Table 10. Result from Impacted Packages Package ID pkg1 DrivingStation pkg4 CruiseMgmt,
7 Class ID cls5 cls6 Table 13. Result from Impacted Classes CKeypad CInitManager Figure 16. Visualization - classes to packages Packages Table 11 is an example packages listing for primary artifact. Table 11. Example classes (Primary artifact) Package ID pkg1 DrivingStation pkg2 Pedal pkg3 InitMgmt I choose pkg2 or Pedal as a package to explore. Secondary artifact will generate the impact. The result will display in graphical and textual mode. Figure 18. Visualization - packages to classes Scenario 3: A secondary artifact is Packages. Refer table 14 as a result in textual and Figure 19 as visualization. Table 14. Result from Impacted Packages Package ID pkg3 InitMgmt Scenario 1: A secondary artifact is Method. Refer table 12 as a result in textual and Figure 17 as visualization with relationship information. Table 12. Result from Impacted Method Method ID mtd5 keypadhandler() mtd9 main() Figure 19. Visualization - packages to packages View Source Code and Drill-Down Result Beside textual and graphical output, there is two more output that will obtain from the selected graphical node. There is a view source code and Drill-Down function that allow user to know the detail of the changes code. Figure 17. Visualization - packages to methods In this function, the user can know the file involve and code location. For instance, mtd5 (keypadhandler()) is belong to Ckeypad class in ControlPanel package and the file involve is keypad.h and keypad.cpp. The method name involve will highlight with yellow color in the files. This scenario is shown as Figure 20. Scenario 2: A secondary artifact is Classes. Refer table 13 as a result in textual and Figure 18 as visualization.
8 statements. Then CodeSurfer represent all the information in visualization. CC-RIDER was produce by Western West is similar like CodeSurfer but CC-RIDER focus on C and C++ especially objectoriented programming. This product is a visualization tools that present complete information on functions, variables, enum values, macros and etc [12]. But both products more on visualize the interaction of relationship between components. (a) Rigi is the one of a visual software understanding tool [9]. Rigi can help maintainer to better understand and re-document the software. Rigi includes parsers to read the source code such as C, C++ and COBOL and produce a graph of extracted artifacts such as procedures, variables, calls, and data access. In Rigi, the information serves as documentation that is up-to-date and accurate because it is derived from the actual source code. This research differs from the above. In this paper, researcher tries to identify the change impact of a software component of interest and turns it into visualization. It s mean a user can visualize the dependencies between artifacts which can be defined in terms of variables, methods or classes and deep until detail statement. The knowledge of artifact relationships needs a special study on impact analysis before it can be turned into graphical views for visualization. (b) Code Location (C) Figure 20. (a) View Source Code and Drill Down. (b) Code location. (c) Header and CPP File 5. RELATED RESEARCH CodeSurfer is the one of Reverse Engineering tools that provide program analysis, understanding and inspection system for ANSI C. CodeSurfer was produce by GrammaTech s which based on system dependence graph, a fundamental intermediate structure for representing program[11]. This product was focus on structure programming and dependency based on methods, variable and 6. CONCLUSION AND FUTURE WORK This paper is focusing on enhancing program understanding using change impact analysis and visualization as a support tools. We study a mechanism to handle the impact analysis and visualization in software system to produce a tool for program understanding. We cater into our work a capability to support the change impact with some degree of visualization. Visualization is applicable not only to a proposed change artifact but also to any other artifacts of interest from which we can visualize its dependencies in software system. In spite of that, change impact analysis in this paper only caters direct impact because indirect impact is very complicated to implement. These indirect impacts need a more study in a specific mechanism and technique to handle the situation. This restriction we leave as a next future work. 7. REFERENCES [1] Lee M., Algorithmic analysis of the impacts of changes to object-oriented software, Proceedings of 34 th International Conference on Technology of Object-Oriented Languages and Systems, 2000, pp [2] Arnold R.S., Impact analysis in the software change process: A year 2000 perspective, Proceedings of International Conference of Software Maintenance, 1996, pp [3] Shahida Sulaiman, Norbik Bashah Idris, Shamsul Sahibuddin, Sarina Sulaiman, Re-documenting, Visualizing and Understanding Software System Using DocLike Viewer, 10th Asia-Pacific Software Engineering Conference (APSEC'03), 2003, pp [4] Timothy S. Jones and Jim Welsh, Software visualisation in a language based editor. In Proc. Software Visualisation Work, Adelaide, Australia, 1997, pp
9 [5] S.A. Bohner, R.S. Arnold, An Introduction to Software Change Impact Analysis, Software Change Impact Analysis, IEEE CS Press, Los Alamitos, CA, 1996, pp [6] Storey, Margaret-Anne D. and Müller, Hausi A, Graph Layout Adjustment Strategies, In Brandenburg, Franz J., Eds. Proceedings Graph Drawing, Passau, Germany, 1996, pp [7] Storey, M.-A.D. Kenny Wong Muller, H.A., Rigi: A Visualization Environment for Reverse Engineering, Software Engineering, Proceedings of the 19 th International Conference,1997, pp [8] Peggy Storey, HausiMueller and KennyWong, Manipulating and Documenting Software Structures, In P. Eades and K. Zhang, editors, Software Engineering and Knowledge Engineering, World Scientific, 1996, pp [9] K. Wong. Rigi blurb. February 1996 [10] Ibrahim, S. Munro, M. & Deraman, A., A Requirements traceability to Support Change Impact Analysis., Asian Journal of Information Technology 4(4), 2005, pp [11] GrammaTech s, Dependence Graphs and Program Slicing, 2000, pp. 1. [12] Western Wares, CC-RIDER C/C++ Program Visualization Tool White Paper, 1998, pp. 5
Software 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
An Open Framework for Reverse Engineering Graph Data Visualization. Alexandru C. Telea Eindhoven University of Technology The Netherlands.
An Open Framework for Reverse Engineering Graph Data Visualization Alexandru C. Telea Eindhoven University of Technology The Netherlands Overview Reverse engineering (RE) overview Limitations of current
Component visualization methods for large legacy software in C/C++
Annales Mathematicae et Informaticae 44 (2015) pp. 23 33 http://ami.ektf.hu Component visualization methods for large legacy software in C/C++ Máté Cserép a, Dániel Krupp b a Eötvös Loránd University [email protected]
An Introduction to Software Visualization. Visualization. Types of Software Visualization. Course Overview
An Introduction to Software Dr. Jonathan I. Maletic Software DevelopMent Laboratory Department of Computer Science Kent State University Course Overview Introductory Lectures Software visualization
The Class Blueprint A Visualization of the Internal Structure of Classes
The Class Blueprint A Visualization of the Internal Structure of Classes Michele Lanza Software Composition Group University Of Bern Bern, Switzerland [email protected] Stéphane Ducasse Software Composition
Keywords: Regression testing, database applications, and impact analysis. Abstract. 1 Introduction
Regression Testing of Database Applications Bassel Daou, Ramzi A. Haraty, Nash at Mansour Lebanese American University P.O. Box 13-5053 Beirut, Lebanon Email: rharaty, [email protected] Keywords: Regression
An Architecture to Support Model Driven Software Visualization
An Architecture to Support Model Driven Software Visualization R. Ian Bull and Margaret-Anne Storey University of Victoria British Columbia, Canada {irbull,[email protected] Marin Litoiu IBM Markham Ontario
VisCG: Creating an Eclipse Call Graph Visualization Plug-in. Kenta Hasui, Undergraduate Student at Vassar College Class of 2015
VisCG: Creating an Eclipse Call Graph Visualization Plug-in Kenta Hasui, Undergraduate Student at Vassar College Class of 2015 Abstract Call graphs are a useful tool for understanding software; however,
Software Re-Documentation Process and Tool
Software Re-Documentation Process and Tool Nicolas Anquetil, Kathia M. Oliveira, Anita G.M. dos Santos, Paulo C.S. da Silva jr., Laesse C. de Araujo jr., and Susa D.C.F. Vieira UCB Catholic University
Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements
Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements
An Evaluation of Reverse Engineering Tool Capabilities
An Evaluation of Reverse Engineering Tool Capabilities BERNDT BELLAY and HARALD GALL Distributed Systems Group, Technical University of Vienna, A-1040 Vienna, Austria, Europe SUMMARY Reverse engineering
Requirements Management with Enterprise Architect
An Introduction to Requirements Management with Enterprise Architect By Sparx Systems All material Sparx Systems 2010 version 1.3 www.sparxsystems.com Sparx Systems 2010 Page 1 Trademarks Object Management
DEMONSTRATION OF THE SOFTVISION SOFTWARE VISUALIZATION FRAMEWORK
DEMONSTRATION OF THE SOFTVISION SOFTWARE VISUALIZATION FRAMEWORK Abstract Matti Sillanpää Nokia Research Center Helsinki, Finland E-mail: [email protected] Alexandru Telea Eindhoven University
What 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
Hierarchy and Tree Visualization
Hierarchy and Tree Visualization Definition Hierarchies An ordering of groups in which larger groups encompass sets of smaller groups. Data repository in which cases are related to subcases Hierarchical
Requirements Management with Enterprise Architect
Requirements Management with Requirements Management with Enterprise Architect By Sparx Systems www.sparxsystems.com Sparx Systems 2014 Requirements Management with Trademarks Object Management Group,
Sage 300 ERP Intelligence Reporting Getting Started Guide. Debra Holder March 2014
Sage 300 ERP Intelligence Reporting Getting Started Guide Debra Holder March 2014 Table of Contents Introduction... 1 Who Should Read This Guide... 1 About Sage Intelligence Reporting... 1 Benefits of
A Change Impact Analysis Tool for Software Development Phase
, pp. 245-256 http://dx.doi.org/10.14257/ijseia.2015.9.9.21 A Change Impact Analysis Tool for Software Development Phase Sufyan Basri, Nazri Kama, Roslina Ibrahim and Saiful Adli Ismail Advanced Informatics
Selbo 2 an Environment for Creating Electronic Content in Software Engineering
BULGARIAN ACADEMY OF SCIENCES CYBERNETICS AND INFORMATION TECHNOLOGIES Volume 9, No 3 Sofia 2009 Selbo 2 an Environment for Creating Electronic Content in Software Engineering Damyan Mitev 1, Stanimir
IMPROVING JAVA SOFTWARE THROUGH PACKAGE STRUCTURE ANALYSIS
IMPROVING JAVA SOFTWARE THROUGH PACKAGE STRUCTURE ANALYSIS Edwin Hautus Compuware Europe P.O. Box 12933 The Netherlands [email protected] Abstract Packages are an important mechanism to decompose
Understanding Software Static and Dynamic Aspects
Understanding Software Static and Dynamic Aspects Welf Löwe IPD, Universität Karlsruhe PF 6980, 76128 Karlsruhe Germany [email protected] Andreas Ludwig IPD, Universität Karlsruhe PF 6980, 76128 Karlsruhe
Visualizing Relationships and Connections in Complex Data Using Network Diagrams in SAS Visual Analytics
Paper 3323-2015 Visualizing Relationships and Connections in Complex Data Using Network Diagrams in SAS Visual Analytics ABSTRACT Stephen Overton, Ben Zenick, Zencos Consulting Network diagrams in SAS
Baseline 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
WebSphere 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
Exploiting Dynamic Information in IDEs Eases Software Maintenance
Exploiting Dynamic Information in IDEs Eases Software Maintenance David Röthlisberger Software Composition Group, University of Bern, Switzerland [email protected] Abstract The integrated development
WebSphere Business Modeler
Discovering the Value of SOA WebSphere Process Integration WebSphere Business Modeler Workshop SOA on your terms and our expertise Soudabeh Javadi Consulting Technical Sales Support WebSphere Process Integration
Object Oriented Programming. Risk Management
Section V: Object Oriented Programming Risk Management In theory, there is no difference between theory and practice. But, in practice, there is. - Jan van de Snepscheut 427 Chapter 21: Unified Modeling
KITES TECHNOLOGY COURSE MODULE (C, C++, DS)
KITES TECHNOLOGY 360 Degree Solution www.kitestechnology.com/academy.php [email protected] [email protected] Contact: - 8961334776 9433759247 9830639522.NET JAVA WEB DESIGN PHP SQL, PL/SQL
Program 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
Rotorcraft Health Management System (RHMS)
AIAC-11 Eleventh Australian International Aerospace Congress Rotorcraft Health Management System (RHMS) Robab Safa-Bakhsh 1, Dmitry Cherkassky 2 1 The Boeing Company, Phantom Works Philadelphia Center
Method of Fault Detection in Cloud Computing Systems
, pp.205-212 http://dx.doi.org/10.14257/ijgdc.2014.7.3.21 Method of Fault Detection in Cloud Computing Systems Ying Jiang, Jie Huang, Jiaman Ding and Yingli Liu Yunnan Key Lab of Computer Technology Application,
A Color Placement Support System for Visualization Designs Based on Subjective Color Balance
A Color Placement Support System for Visualization Designs Based on Subjective Color Balance Eric Cooper and Katsuari Kamei College of Information Science and Engineering Ritsumeikan University Abstract:
DEVELOPMENT OF AN ANALYSIS AND REPORTING TOOL FOR ORACLE FORMS SOURCE CODES
DEVELOPMENT OF AN ANALYSIS AND REPORTING TOOL FOR ORACLE FORMS SOURCE CODES by Çağatay YILDIRIM June, 2008 İZMİR CONTENTS Page PROJECT EXAMINATION RESULT FORM...ii ACKNOWLEDGEMENTS...iii ABSTRACT... iv
HierarchyMap: A Novel Approach to Treemap Visualization of Hierarchical Data
P a g e 77 Vol. 9 Issue 5 (Ver 2.0), January 2010 Global Journal of Computer Science and Technology HierarchyMap: A Novel Approach to Treemap Visualization of Hierarchical Data Abstract- The HierarchyMap
What is a life cycle model?
What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each
A terminology model approach for defining and managing statistical metadata
A terminology model approach for defining and managing statistical metadata Comments to : R. Karge (49) 30-6576 2791 mail [email protected] Content 1 Introduction... 4 2 Knowledge presentation...
An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases
An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases Paul L. Bergstein, Priyanka Gariba, Vaibhavi Pisolkar, and Sheetal Subbanwad Dept. of Computer and Information Science,
Consuming Real Time Analytics and KPI powered by leveraging SAP Lumira and SAP Smart Business in Fiori SESSION CODE: 0611 Draft!!!
Consuming Real Time Analytics and KPI powered by leveraging SAP Lumira and SAP Smart Business in Fiori SESSION CODE: 0611 Draft!!! Michael Sung SAP Consuming Real Time Analytics and KPI powered by leveraging
Axiomatic design of software systems
Axiomatic design of software systems N.P. Suh (1), S.H. Do Abstract Software is playing an increasingly important role in manufacturing. Many manufacturing firms have problems with software development.
Web. Studio. Visual Studio. iseries. Studio. The universal development platform applied to corporate strategy. Adelia. www.hardis.
Web Studio Visual Studio iseries Studio The universal development platform applied to corporate strategy Adelia www.hardis.com The choice of a CASE tool does not only depend on the quality of the offer
Foglight. Dashboard Support Guide
Foglight Dashboard Support Guide 2013 Quest Software, Inc. ALL RIGHTS RESERVED. This guide contains proprietary information protected by copyright. The software described in this guide is furnished under
Different Approaches using Change Impact Analysis of UML Based Design for Software Development
Different Approaches using Change Impact Analysis of UML Based Design for Software Development Ali Tariq Bhatti 1, Muhammad Murad Haider 2, Zill-e-Subhan 2 1 North Carolina A&T State University, Greensboro
300 Intelligence Reporting. Sage 300 2016 Intelligence Reporting Customer Frequently asked questions
300 Intelligence Reporting Sage 300 2016 Intelligence Reporting Customer Table of contents 1. Overview of Sage Intelligence Reporting 3 2. Comparisons of Sage Intelligence Reporting and Sage Enterprise
Managing Variability in Software Architectures 1 Felix Bachmann*
Managing Variability in Software Architectures Felix Bachmann* Carnegie Bosch Institute Carnegie Mellon University Pittsburgh, Pa 523, USA [email protected] Len Bass Software Engineering Institute Carnegie
Contents. 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
SMARTEAM Fundamentals
SMARTEAM Training Foils SMARTEAM Fundamentals Version 5 Release 14 September 2004 EDU-SMT-E-SFL-FF-V5R14 SMARTEAM Fundamentals Objectives of the course This course explains the various principles and procedures
Software Engineering. How does software fail? Terminology CS / COE 1530
Software Engineering CS / COE 1530 Testing How does software fail? Wrong requirement: not what the customer wants Missing requirement Requirement impossible to implement Faulty design Faulty code Improperly
Ultimus and Microsoft Active Directory
Ultimus and Microsoft Active Directory May 2004 Ultimus, Incorporated 15200 Weston Parkway, Suite 106 Cary, North Carolina 27513 Phone: (919) 678-0900 Fax: (919) 678-0901 E-mail: [email protected]
CATIA Team PDM. Preface Getting Started Basic Tasks Advanced Tasks Index. Dassault Systèmes 1994-99. All rights reserved.
CATIA Team PDM Preface Getting Started Basic Tasks Advanced Tasks Index Dassault Systèmes 1994-99. All rights reserved. Preface Overview of PDM The Need Next to people, information is your company's most
Configuring budget planning for Microsoft Dynamics AX 2012 R2
Microsoft Dynamics AX 2012 R2 Configuring budget planning for Microsoft Dynamics AX 2012 R2 White Paper This document describes configuration considerations for implementing budget planning. October 2012
Interactive Exploration of Decision Tree Results
Interactive Exploration of Decision Tree Results 1 IRISA Campus de Beaulieu F35042 Rennes Cedex, France (email: pnguyenk,[email protected]) 2 INRIA Futurs L.R.I., University Paris-Sud F91405 ORSAY Cedex,
CHANGE IMPACT ANALYSIS OF OBJECT-ORIENTED SOFTWARE. Technical Report ISE-TR-99-06
CHANGE IMPACT ANALYSIS OF OBJECT-ORIENTED SOFTWARE Technical Report ISE-TR-99-06 Michelle L. Lee (Li Li) Department of Information and Software Engineering School of Information Technology and Engineering
Visualizing Data from Government Census and Surveys: Plans for the Future
Censuses and Surveys of Governments: A Workshop on the Research and Methodology behind the Estimates Visualizing Data from Government Census and Surveys: Plans for the Future Kerstin Edwards March 15,
Visualizing e-government Portal and Its Performance in WEBVS
Visualizing e-government Portal and Its Performance in WEBVS Ho Si Meng, Simon Fong Department of Computer and Information Science University of Macau, Macau SAR [email protected] Abstract An e-government
NakeDB: Database Schema Visualization
NAKEDB: DATABASE SCHEMA VISUALIZATION, APRIL 2008 1 NakeDB: Database Schema Visualization Luis Miguel Cortés-Peña, Yi Han, Neil Pradhan, Romain Rigaux Abstract Current database schema visualization tools
Key word: Reverse Engineering, Rigi, Imagix 4D
Volume 5. 5, August 2015 Study of Reverse Engineering and Assessment of RIGI and Imagix 4D 1. Jayanti Upadhyay #1, 2. Lalji Prasad #2 #1. Truba college of engineering,indore (M.P.), Dandia Bazar Vadodara,Gujrat,+91-9586800811,jayantirupad
Change Impact Analysis for the Software Development Phase: State-of-the-art
Change Impact Analysis for the Software Development Phase: State-of-the-art Nazri Kama Advanced Informatics School, Universiti Teknologi Malaysia, Malaysia [email protected] Abstract Impact analysis
XFlash 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,
TABLE OF CONTENTS ABSTRACT ACKNOWLEDGEMENT LIST OF FIGURES LIST OF TABLES
TABLE OF CONTENTS ABSTRACT ACKNOWLEDGEMENT LIST OF FIGURES LIST OF TABLES ii iii x xiv CHAPTER 1: INTRODUCTION 1 1.0 Background 1 1.1 Research Motivation 4 1.2 Research Objectives 5 1.3 Project Scope 6
Towards Rule-based System for the Assembly of 3D Bricks
Universal Journal of Communications and Network 3(4): 77-81, 2015 DOI: 10.13189/ujcn.2015.030401 http://www.hrpub.org Towards Rule-based System for the Assembly of 3D Bricks Sanguk Noh School of Computer
However, the marketplace for replaceable components is still not at sight due to many
Software Replaceability: An NFR Approach Lei Zhang Lawrence Chung Jing Wang Department of Computer Science The University of Texas at Dallas {lei74, chung, jwang}@ utdallas.edu Abstract Building software
Extend Table Lens for High-Dimensional Data Visualization and Classification Mining
Extend Table Lens for High-Dimensional Data Visualization and Classification Mining CPSC 533c, Information Visualization Course Project, Term 2 2003 Fengdong Du [email protected] University of British Columbia
An Object Oriented Role-based Access Control Model for Secure Domain Environments
International Journal of Network Security, Vol.4, No.1, PP.10 16, Jan. 2007 10 An Object Oriented -based Access Control Model for Secure Domain Environments Cungang Yang Department of Electrical and Computer
TECH. Requirements. Why are requirements important? The Requirements Process REQUIREMENTS ELICITATION AND ANALYSIS. Requirements vs.
CH04 Capturing the Requirements Understanding what the customers and users expect the system to do * The Requirements Process * Types of Requirements * Characteristics of Requirements * How to Express
Integrity 10. Curriculum Guide
Integrity 10 Curriculum Guide Live Classroom Curriculum Guide Integrity 10 Workflows and Documents Administration Training Integrity 10 SCM Administration Training Integrity 10 SCM Basic User Training
Tool Support for Inspecting the Code Quality of HPC Applications
Tool Support for Inspecting the Code Quality of HPC Applications Thomas Panas Dan Quinlan Richard Vuduc Center for Applied Scientific Computing Lawrence Livermore National Laboratory P.O. Box 808, L-550
Chapter 5. Regression Testing of Web-Components
Chapter 5 Regression Testing of Web-Components With emergence of services and information over the internet and intranet, Web sites have become complex. Web components and their underlying parts are evolving
A Traceability Approach to Support Object-oriented Software
A Traceability Approach to Support Object-oriented Software Othman Mohd Yusop Centre for Advanced Software Engineering Universiti Teknologi Malaysia 54100 Jln Semarak, K. Lumpur [email protected] Dr.
Acknowledgement. Software Engineering. CS 3141: Team Software Project Introduction
CS 3141: Team Software Project Introduction Ali Ebnenasir Department of Computer Science Michigan Technological University Acknowledgement Betty H.C. Cheng Software Engineering Systematic approach for
JRefleX: Towards Supporting Small Student Software Teams
JRefleX: Towards Supporting Small Student Software Teams Kenny Wong, Warren Blanchet, Ying Liu, Curtis Schofield, Eleni Stroulia, Zhenchang Xing Department of Computing Science University of Alberta {kenw,blanchet,yingl,schofiel,stroulia,xing}@cs.ualberta.ca
How To Understand Version Control Knowledge From A Reverse Engineering Perspective
A Reverse Engineering Approach to Support Software Maintenance: Version Control Knowledge Extraction Xiaomin Wu University of Victoria [email protected] Adam Murray University of Ottawa [email protected]
Change Management. [email protected] ABSTRACT
Change Management James Tam, Saul Greenberg, and Frank Maurer Department of Computer Science University of Calgary Calgary, Alberta phone: +1 403 220 3532 [email protected] ABSTRACT In this paper,
Software change management Technological dimension
International Journal l of Smart Home Software change management Technological dimension S. M. Ghosh 1, H. R. Sharma 1, V. Mohabay 2 1 Chhatrapati Shivaji Institute of Technology, Durg (CG) INDIA 2 Department
A Framework of Model-Driven Web Application Testing
A Framework of Model-Driven Web Application Testing Nuo Li, Qin-qin Ma, Ji Wu, Mao-zhong Jin, Chao Liu Software Engineering Institute, School of Computer Science and Engineering, Beihang University, China
COGNOS 8 Business Intelligence
COGNOS 8 Business Intelligence QUERY STUDIO USER GUIDE Query Studio is the reporting tool for creating simple queries and reports in Cognos 8, the Web-based reporting solution. In Query Studio, you can
ALIAS: A Tool for Disambiguating Authors in Microsoft Academic Search
Project for Michael Pitts Course TCSS 702A University of Washington Tacoma Institute of Technology ALIAS: A Tool for Disambiguating Authors in Microsoft Academic Search Under supervision of : Dr. Senjuti
Software Visualization Tools for Component Reuse
Software Visualization Tools for Component Reuse Craig Anslow Stuart Marshall James Noble Robert Biddle 1 School of Mathematics, Statistics and Computer Science, Victoria University of Wellington, New
Recovering Business Rules from Legacy Source Code for System Modernization
Recovering Business Rules from Legacy Source Code for System Modernization Erik Putrycz, Ph.D. Anatol W. Kark Software Engineering Group National Research Council, Canada Introduction Legacy software 000009*
ANIMATION a system for animation scene and contents creation, retrieval and display
ANIMATION a system for animation scene and contents creation, retrieval and display Peter L. Stanchev Kettering University ABSTRACT There is an increasing interest in the computer animation. The most of
Space-filling Techniques in Visualizing Output from Computer Based Economic Models
Space-filling Techniques in Visualizing Output from Computer Based Economic Models Richard Webber a, Ric D. Herbert b and Wei Jiang bc a National ICT Australia Limited, Locked Bag 9013, Alexandria, NSW
Using Library Dependencies for Clustering
Using Library Dependencies for Clustering Jochen Quante Software Engineering Group, FB03 Informatik, Universität Bremen [email protected] Abstract: Software clustering is an established approach
Change & Configuration! Management
Change & Configuration Management 100% Web based Word & Wiki Authoring Baselines and Versioning Process Enforcement Requirement Traceability Requirement Workflows Advanced Collaboration Services Integration
Training Management System for Aircraft Engineering: indexing and retrieval of Corporate Learning Object
Training Management System for Aircraft Engineering: indexing and retrieval of Corporate Learning Object Anne Monceaux 1, Joanna Guss 1 1 EADS-CCR, Centreda 1, 4 Avenue Didier Daurat 31700 Blagnac France
