Re-tooling Code Structure Based Analysis with Model-Driven Program Slicing for Software Maintenance

Size: px
Start display at page:

Download "Re-tooling Code Structure Based Analysis with Model-Driven Program Slicing for Software Maintenance"

Transcription

1 Re-tooling Code Structure Based Analysis with Model-Driven Program Slicing for Software Maintenance Oladipo Onaolapo Francisca (PhD) Computer Science Department, Nnamdi Azikiwe University Awka, Nigeria Abstract Static code analysis is a methodology of detecting errors in program code based on the programmer's reviewing the code in areas within the program text where errors are likely to be found and since the process considers all syntactic program paths; there is the need for a model-based approach with slicing. This paper presented a model of high-level abstraction of code structure analysis for a large component based software system. The work leveraged on the most important advantage of static code structure analysis in re-tooling software maintenance for a developing economy. A program slicing technique was defined and deployed to partition the source text to manageable fragments to aid in the analysis and statecharts were deployed as visual formalism for viewing the dynamic slices. The resulting model was a high-tech static analysis process aimed at determining and confirming the expected behaviour of a software system using slices of the source text presented in the statecharts. Keywords- software maintenance; static analysis; syntactic program behavior; program slicing. I. INTRODUCTION There had been a growing use of static analysis both in commercial and academic areas in the verification of properties of software used and locating potentially vulnerable code in critical sensitive computer systems [1]. Static code analysis is the analysis of computer software that is performed without actually executing programs built from that software. This is in contrast to the analysis performed on executing programs which is known as dynamic analysis [2]. Empirical evidence from [3] and [4] showed that software maintenance consumed between 50% and 80% of the resources in the total software budget. In addition, according to [5] and [6]; an estimated 50% to 80% of the time and material involved in software development is devoted to maintenance of existing code, hence the main justification for this work was to leverage on the most important advantage of static code structure analysis in re-tooling software maintenance for a developing economy. The most important advantage of static code analysis lied in the possibility of considerable cost saving by defects elimination in a program; this is expected to bring about some economic benefits to a developing country as technological innovations were known to do and they can be expected to save considerable costs in software maintenance. The earlier an error is determined; the lower the cost of its correction. According to [7], correction of an error at the testing stage is ten times more expensive than its correction at the construction (coding) stage. This paper presented a model for code structure analysis for a large component based software system. A program slicing technique was deployed to partition the code to manageable fragments to aid in the analysis and statecharts were deployed as visual formalism to view the dynamism of the static slices. The model aimed at determining and confirming the expected behavior of a software system using the source text because research had shown that during maintenance, the most reliable and accurate description of the actual behavior of a software system is its source code [8]. The rest of this paper is organized as follows: A background to the concepts of static codes structure analysis and program slicing was presented in section II; section 3 described the materials and methods adopted in the research, the resultant models were discussed in section 4 and the section 5 concluded the paper. II. RESEARCH BACKGROUND Identifying errors in software during development is very important so that the end product can be error free and perform to its specification. Reference [9] believed that early identification of bugs in a developing program can be achieved through the concept of program slicing. Generally, program slice has a wider spectrum of applications that include debugging, testing, maintenance, code understanding, complexity measurement, security etc. Static analysis is any form of analysis that does not require a system to be operated. The process complements dynamic analysis, where system operation is central. When applied to code, static analysis is typically referred to as white-box, glassbox, structural or implementation based techniques [10]. In most cases the analysis is performed on some version of the source code and in the other cases some form of the object code. The term is sometimes applied to the analysis performed by an automated tool, with human analysis being called program understanding, program comprehension or code 184 P a g e

2 review. Static Analysis is performed without program execution and the process includes almost everything except conventional testing. This is because dynamic testing requires running code, some program properties such as race conditions are too hard to test for and though it may be impossible to program correctness, one can easily prove simple properties of simplified models. Static analysis can be applied earlier in development because some kinds of defects are hard to find by testing (e.g., timing-dependent errors) and because testing and analysis are complementary; each is best at finding different faults. The sophistication of the analysis performed by tools varies from those that only consider the behavior of individual statements and declarations, to those that include the complete source code of a program in their analysis. Uses of the information obtained from the analysis vary from highlighting possible coding errors to formal methods that mathematically prove properties about a given program [11]. One implementation technique of formal static analysis is model checking; it includes the consideration of systems that have finite state or may be reduced to finite state by abstraction. Data-flow analysis is a lattice-based static analysis technique for gathering information about the possible set of values and the abstract interpretation models the effect that every statement has on the state of an abstract machine. In this case, the model 'executes' the software based on the mathematical properties of each statement and declaration. This abstract machine over-approximates the behaviours of the system and the abstract system is thus made simpler to analyze, at the expense of incompleteness since not every property true of the original system is true of the abstract system. If properly done, though, abstract interpretation is sound as every property true of the abstract system can be mapped to a true property of the original system [12]. The sophistication of the analysis performed by the model varies from those that only consider the behavior of individual statements and declarations, to those that include the complete source code of a program in their analysis. Uses of the information obtained from the analysis vary from highlighting possible coding errors to formal methods that mathematically prove properties about a given program [13]. Static analysis can find weaknesses in the code at the exact location, it can be conducted by trained software assurance developers who fully understand the code and it allows a quicker turn around for fixes. In addition to all these, it permits weaknesses to be found earlier in the development life cycle, reducing the cost to fix. Program slicing was initially proposed to guide programmers during program debugging, but had been found to be useful for the process of understanding programs. Dynamic slicing was used to identify those parts of the program that contributed to the computation of the selected function for a given program execution. This can be used to understand program execution by adopting a commonly used high level abstraction. Program slicing is the computation of the set of programs statements, the program slice that may affect the values at some point of interest, referred to as a slicing criterion. Program slicing can be used in debugging to locate source of errors more easily. Other applications of slicing include software maintenance, optimization, program analysis, and information flow control. [13]. Slicing techniques have been seeing a rapid development since the original definition by Mark Weiser. At first, slicing was only static, i.e., applied on the source code with no other information than the source code. Reference [14] introduced dynamic slicing, which worked on a specific execution of the program; for a given execution trace. Based on the original definition of [15], informally, a static program slice S consists of all statements in program P that may affect the value of variable v at some point p. The slice is defined for a slicing criterion C=(x,V), where x is a statement in program P and V is a subset of variables in P. A static slice includes all the statements that affect variable v for a set of all possible inputs at the point of interest (i.e., at the statement x). Static slices are computed by finding consecutive sets of indirectly relevant statements, according to data and control dependencies. Dynamic slicing techniques provided a means to prune unrelated computation, and it may help to narrow down this part of a program that contributed to the computation of a function of interest for a particular program input. III. MATERIALS AND METHODS The methodology adopted in the work was a modification of the Jakstab framework [16]. Jakstab is an Abstract interpretation-based, integrated disassembly and static analysis framework for designing analyses on executables and recovering reliable control flow graphs. In order to make the framework suitable for the research in this paper, the author added an extra layer of abstraction to the original framework to obtain a modified methodology suitable for the task at hand. While the starting point for the Jakstab framework is binary source, the approach in this paper performs the analysis on the program source code. In addition to the modified Jakstab framework; the following materials were deployed in building the model-based high-tech source analysis system. A bottom-up dynamic slicing technique was defined in this work and deployed to obtain a hybrid-tech static analysis model (Fig. 1). A slice was constituted by an executable portion of the original program whose behavior is, under the same input, indistinguishable from that of the original program on a given variable V at point P in the program. Reference [13] had showed that bottom-up program slicing techniques could be successfully deployed to transform a large component-based program into a smaller one that contains only statements relevant to the computation of a given function. Statecharts notations used in [17] were deployed as a concise visual formalism that captured the dynamic behaviour of a system in representing program slices in this work. Illustrated below is a visualization of a login module Passwd.pas (Fig. 2). Goal models- a graph structure representing stakeholder goals and their inter-dependencies was deployed to decompose goals into sub-goals through AND/OR refinements (Fig. 3). 185 P a g e

3 Figure 1. Source model-based slicing for static analysis Figure 2. Sample statechart notation Figure 3. Patterns to extract goal models from abstract code [17] 186 P a g e

4 Figure 4. The model-based high-tech source analysis system IV. RESULTS AND DISCUSSIONS This work described a model-based high-tech methodology for static source analysis which consisted of systematically using slices of code source models as primary source artifacts throughout the analysis process (Fig.1). This was because, though proving program correctness may be wrong at static analysis phase, it is possible to prove simple properties of simplified models. The process took as input, the program source text and generated slices based on slicing criterion. The knowledge schema at this point comprised of the knowledge of the syntax and semantics of the programming language (Fig.4). Low-tech static analysis that involved simple software inspection and manual checking of simple syntactic standards were first carried out. This was followed by the hightech static analysis that included enforced syntactic checks, check for conformance with respect to specifications, designs, and the code data flow analysis. The model was bottom-up and generated slices were analyzed, refined if necessary and evaluated. The sum of all analyzed parts (slices) gave the whole (entire source) at the end of the day which may eventually become a candidate for analysis at a later time. Generated slices were represented by statecharts and resolved into goal models. The Static analysis model was applied to a real-life legacy application [13]. A procedural application developed for a commercial bank in Nigeria prior to the consolidation of the banking sector in the country was chosen due to its high availability and statecharts were deployed to show the abstract description of the behaviour of the source system. Fig. 5 showed the statechart that implemented the login page of the application, passwd.pas. Visualizations like the one above (Fig. 5) were built for different slices of the application and the different visualizations were combined to obtain a high-level metamodel that contained the entire description of the original system (Fig. 6). The top-level statechart above was converted to an annotated goal model using the conversion process described earlier (Fig. 3), all the transitions were converted into goals using the AND/OR decomposition rules. Some tasks in the goal model contributed to quality concerns modeled by the softgoals; for example, correctpassword contributed to the security concern while ErrorMessage contributed to the usability concern (Fig.7). Figure 5. Sample visualization of the login module using Statechart V. CONCLUSION Previous research had showed that the maintenance of existing software source code consumed up to ¾ of the resources in the total software budget (time and material), and that the earlier an error is determined, the lower is the cost of its correction. In addition, [18] opined that code comprehension require 47% and 62% of the total time for enhancement and correction tasks, respectively. The main justification for this work therefore is to leverage on the most important advantage of static code structure analysis in re-tooling software maintenance for a developing economy- cost saving. In this work, a framework for code structure analysis for a large component based software system with program slicing was developed as a re-tooling technique for developing economies in order to enable an early detection of bugs during a software development process thereby saving significant costs in software maintenance. 187 P a g e

5 Figure 6. Sample top-level Statechart of the Procedural application Figure 7. Sample goal model for the application [13] 188 P a g e

6 REFERNCES [1] B. Livshits, Improving Software Security with Precise Static and Runtime Analysis Section 7.3 Static Techniques for Security, Stanford doctoral thesis, [2] B. A.Wichmann, A. A. Canning, D. L. Clutterbuck, L. A. Winsbarrow, N. J. Ward, and D. W. R. Marsh, Industrial Perspective on Static Analysis, Software Engineering Journal vol 10, pp , March, [3] B. W. Boehm, Software engineering economics, Prentice-Hall, Englewood Cliffs, NH, [4] C. McClure, The three Rs of software automation, Prentical Hall, Englewood Cliffs, NJ, [5] A.F. Ackerman, L. S. Buchwald, and F. H. Lewski. Software Inspections: An Effective Verification Process, IEEE Software, Vol. 6, No. 3, May 1989, pp [6] K. Erdos, & H. M. Sneed, "Partial Comprehension of Complex Programs enough to perform maintenance," Proceedings of the IEEE Sixth International Workshop on Program Comprehension, June 24 26, [7] S. McConnell, Code Complete, 2nd ed., Microsoft Press: Paperback, 2004, 914 pages, ISBN: [8] R. Klosch, Reverse Engineering: Why and How to Reverse Engineer Software, Proceedings of the International Conference on Software Engineering, 2001, pp [9] K. Thiagarajan, C.Saravanakumar, G. Poonkuzhali, Ponnammal Natarajan, and S.Jeyabharathi, Static program slicing for composite data using FSM-Model, World Academy of Science, Engineering and Technology Journal, Issue 32 Aug. 2009, pp Downloaded December 2011 from [10] A. Ireland, Static Analysis Techniques, Lecture notes on F28SD2: Software Design, School of Mathematical and Computer Science, Heriot-Watt University, Edinburgh [11] Wikipedia the free encyclopedia, Static Program Analysis, Downloaded November 2011 from [12] P. Jones, "A formal methods-based verification approach to medical device software analysis". Journal of Embedded Systems Design, [13] O.F. Oladipo, Software reverse engineering of legacy applications, Ph.D. Dissertation Computer Science Department, Nnamdi Azikiwe University, Awka Nigeria, March 2010, unpublished [14] B. Korel and J. Laski. Dynamic program slicing, Information Processing. Letters, vol. 29, no 3, pp , Oct [15] M. Weiser. "Program slicing". IEEE Transactions on Software Engineering, vol. 10, Issue 4, pages , IEEE Computer Society Press, July [16] Jakstab Framework homepage [17] Y. Yu, Y. Wang, J. Mylopoulos, S. Liaskos, A. Lapouchnian, and J. Cesar Sampaio do Prado Leite, Reverse Engineering Goal Models from Legacy Code, In: 13th IEEE International Conference on Requirements Engineering (RE'05), 29 Aug-2 Sept 2005, Paris, France, Downloaded October 2009 from [18] M. L. Nelson, A Survey of Reverse Engineering and Program Comprehension, Lecture notes on CS 551: Software Engineering Survey, Old Dominion University, April 19, 1996, Downloaded November 2011 from arxiv.org/pdf/cs/ AUTHOR S PROFILE Oladipo, Onaolapo Francisca holds a Ph.D in Computer Science from Nnamdi Azikiwe University, Awka, Nigeria; where she is currently a faculty member. Her research interests spanned various areas of Computer Science and Applied Computing. She has published numerous papers detailing her research experiences in both local and international journals and presented research papers in a number of international conferences. She is also a reviewer for many international journals and conferences. She is a member of several professional and scientific associations both within Nigeria and beyond; they include the British Computer Society, Nigerian Computer Society, Computer Professionals (Regulatory Council) of Nigeria, the Global Internet Governance Academic Network (GigaNet), International Association of Computer Science and Information Technology (IACSIT ), the Internet Society (ISOC), Diplo Internet Governance Community and the Africa ICT Network. 189 P a g e

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

Static Analysis Techniques

Static Analysis Techniques oftware Design (F28SD2): Static Analysis Techniques 1 Software Design (F28SD2) Static Analysis Techniques Andrew Ireland School of Mathematical and Computer Science Heriot-Watt University Edinburgh oftware

More information

LOGICAL OPERATOR USAGE IN STRUCTURAL MODELLING

LOGICAL OPERATOR USAGE IN STRUCTURAL MODELLING LOGICAL OPERATOR USAGE IN STRUCTURAL MODELLING Ieva Zeltmate (a) (a) Riga Technical University, Faculty of Computer Science and Information Technology Department of System Theory and Design ieva.zeltmate@gmail.com

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

Distributed Systems Programming (F21DS1) Formal Verification

Distributed Systems Programming (F21DS1) Formal Verification Distributed Systems Programming (F21DS1) Formal Verification Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Overview Focus on

More information

Deliver robust products at reduced cost by linking model-driven software testing to quality management.

Deliver robust products at reduced cost by linking model-driven software testing to quality management. Quality management White paper September 2009 Deliver robust products at reduced cost by linking model-driven software testing to quality management. Page 2 Contents 2 Closing the productivity gap between

More information

Taxonomy Dimensions of Complexity Metrics

Taxonomy Dimensions of Complexity Metrics 96 Int'l Conf. Software Eng. Research and Practice SERP'15 Taxonomy Dimensions of Complexity Metrics Bouchaib Falah 1, Kenneth Magel 2 1 Al Akhawayn University, Ifrane, Morocco, 2 North Dakota State University,

More information

Harmonization of usability measurements in ISO9126 software engineering standards

Harmonization of usability measurements in ISO9126 software engineering standards Harmonization of usability measurements in ISO9126 software engineering standards Laila Cheikhi, Alain Abran and Witold Suryn École de Technologie Supérieure, 1100 Notre-Dame Ouest, Montréal, Canada laila.cheikhi.1@ens.etsmtl.ca,

More information

Part I: Preliminaries 24

Part I: Preliminaries 24 Contents Preface......................................... 15 Acknowledgements................................... 22 Part I: Preliminaries 24 1. Basics of Software Testing 25 1.1. Humans, errors, and testing.............................

More information

(See related materials in textbook.) CSE 435: Software Engineering (slides adapted from Ghezzi et al & Stirewalt

(See related materials in textbook.) CSE 435: Software Engineering (slides adapted from Ghezzi et al & Stirewalt Verification (See related materials in textbook.) Outline What are the goals of verification? What are the main approaches to verification? What kind of assurance do we get through testing? How can testing

More information

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation 1 Objectives To introduce software verification and validation and to discuss the distinction between them To describe the program inspection process and its role in V & V To

More information

Part 5. Verification and Validation

Part 5. Verification and Validation Software Engineering Part 5. Verification and Validation - Verification and Validation - Software Testing Ver. 1.7 This lecture note is based on materials from Ian Sommerville 2006. Anyone can use this

More information

Evaluation of Commercial Web Engineering Processes

Evaluation of Commercial Web Engineering Processes Evaluation of Commercial Web Engineering Processes Andrew McDonald and Ray Welland Department of Computing Science, University of Glasgow, Glasgow, Scotland. G12 8QQ. {andrew, ray}@dcs.gla.ac.uk, http://www.dcs.gla.ac.uk/

More information

FORMALIZED SOFTWARE DEVELOPMENT IN AN INDUSTRIAL ENVIRONMENT

FORMALIZED SOFTWARE DEVELOPMENT IN AN INDUSTRIAL ENVIRONMENT FORMALIZED SOFTWARE DEVELOPMENT IN AN INDUSTRIAL ENVIRONMENT Otthein Herzog IBM Germany, Dept. 3100 P.O.Box 80 0880 D-7000 STUTTGART, F. R. G. ABSTRACT tn the IBM Boeblingen Laboratory some software was

More information

An Automatic Tool for Checking Consistency between Data Flow Diagrams (DFDs)

An Automatic Tool for Checking Consistency between Data Flow Diagrams (DFDs) An Automatic Tool for Checking Consistency between Data Flow Diagrams (DFDs) Rosziati Ibrahim, Siow Yen Yen Abstract System development life cycle (SDLC) is a process uses during the development of any

More information

Exploration of Data from Modelling and Simulation through Visualisation

Exploration of Data from Modelling and Simulation through Visualisation Exploration of Data from Modelling and Simulation through Visualisation Tao Lin: CSIRO Mathematical and Information Sciences, PO Box 664, ACT 2601, Australia. Robert Cheung*: CRC for Advanced Computational

More information

CITS5501 Software Testing and Quality Assurance Formal methods

CITS5501 Software Testing and Quality Assurance Formal methods CITS5501 Software Testing and Quality Assurance Formal methods Unit coordinator: Arran Stewart May 1, 2018 1 / 49 Sources Pressman, R., Software Engineering: A Practitioner s Approach, McGraw-Hill, 2005

More information

Integrating SysML and OWL

Integrating SysML and OWL Integrating SysML and OWL Henson Graves Lockheed Martin Aeronautics Company Fort Worth Texas, USA henson.graves@lmco.com Abstract. To use OWL2 for modeling a system design one must be able to construct

More information

Techniques for the unambiguous specification of software

Techniques for the unambiguous specification of software Formal Techniques for the unambiguous of software Objectives To explain why formal techniques help discover problems in system requirements To describe the use of algebraic techniques for interface To

More information

Lecture 15 Software Testing

Lecture 15 Software Testing Lecture 15 Software Testing Includes slides from the companion website for Sommerville, Software Engineering, 10/e. Pearson Higher Education, 2016. All rights reserved. Used with permission. Topics covered

More information

Software Engineering: Integration Requirements

Software Engineering: Integration Requirements Software Engineering: Integration Requirements AYAZ ISAZADEH Department of Computer Science Tabriz University Tabriz, IRAN Abstract: - This paper presents a discussion of software integration requirements,

More information

Analysis of BPMN Models

Analysis of BPMN Models Analysis of BPMN Models Addis Gebremichael addisalemayehu.gebremichael@student.uantwerpen.be Abstract The Business Process Modeling Notation (BPMN) is a standard notation for capturing business processes,

More information

International Journal of Computer Engineering and Applications, Volume XII, Special Issue, April- ICITDA 18,

International Journal of Computer Engineering and Applications, Volume XII, Special Issue, April- ICITDA 18, International Journal of Computer Engineering and Applications, Volume XII, Special Issue, April- ICITDA 18, www.ijcea.com ISSN 2321-3469 SOFTWARE TESTING Rajat Galav, Shivank Lavania Student, Department

More information

International Journal of Computer Engineering and Applications, Volume XII, Special Issue, September 18, ISSN SOFTWARE TESTING

International Journal of Computer Engineering and Applications, Volume XII, Special Issue, September 18,   ISSN SOFTWARE TESTING International Journal of Computer Engineering and Applications, Volume XII, Special Issue, September 18, www.ijcea.com ISSN 2321-3469 SOFTWARE TESTING Rajat Galav 1, Shivank Lavania 2, Brijesh Kumar Singh

More information

Perspectives on User Story Based Visual Transformations

Perspectives on User Story Based Visual Transformations Perspectives on User Story Based Visual Transformations Yves Wautelet 1, Samedi Heng 2, and Manuel Kolp 2 1 KU Leuven, Belgium yves.wautelet@kuleuven.be, 2 LouRIM, Université catholique de Louvain, Belgium

More information

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2 INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2 1 Faculty of Sciences, Lebanese University 2 LINA Laboratory, University of Nantes ABSTRACT:

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

Visible and Long-Wave Infrared Image Fusion Schemes for Situational. Awareness

Visible and Long-Wave Infrared Image Fusion Schemes for Situational. Awareness Visible and Long-Wave Infrared Image Fusion Schemes for Situational Awareness Multi-Dimensional Digital Signal Processing Literature Survey Nathaniel Walker The University of Texas at Austin nathaniel.walker@baesystems.com

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 8 Agile Methodologies: XP 1 extreme Programming (XP) Developed by Beck in 1996. The first authentic XP book appeared in 1999, with a revised

More information

XIV. The Requirements Specification Document (RSD)

XIV. The Requirements Specification Document (RSD) XIV. The Requirements Specification Document (RSD) What is a RSD? What to include/not include in a RSD? Attributes of a Well-Written RSD Organization of a RSD Sample Table of Contents An Example 2002 John

More information

Test Cases Generation from UML Activity Diagrams

Test Cases Generation from UML Activity Diagrams Eighth ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing Test Cases Generation from UML Activity Diagrams Hyungchoul Kim, Sungwon

More information

Testing! Prof. Leon Osterweil! CS 520/620! Spring 2013!

Testing! Prof. Leon Osterweil! CS 520/620! Spring 2013! Testing Prof. Leon Osterweil CS 520/620 Spring 2013 Relations and Analysis A software product consists of A collection of (types of) artifacts Related to each other by myriad Relations The relations are

More information

Impact of Dependency Graph in Software Testing

Impact of Dependency Graph in Software Testing Impact of Dependency Graph in Software Testing Pardeep Kaur 1, Er. Rupinder Singh 2 1 Computer Science Department, Chandigarh University, Gharuan, Punjab 2 Assistant Professor, Computer Science Department,

More information

The Global Context of Sustainable Development Data

The Global Context of Sustainable Development Data The Global Context of Sustainable Development Data Linda Hooper, UN Statistics Division UNDA10 - Workshop for ESCWA Sound Institutional, environment, cooperation, dialogue and partnerships for the production

More information

Software Language Engineering of Architectural Viewpoints

Software Language Engineering of Architectural Viewpoints Software Language Engineering of Architectural Viewpoints Elif Demirli and Bedir Tekinerdogan Department of Computer Engineering, Bilkent University, Ankara 06800, Turkey {demirli,bedir}@cs.bilkent.edu.tr

More information

Verification and Validation

Verification and Validation Steven Zeil February 13, 2013 Contents 1 The Process 3 1 2 Non-Testing V&V 7 2.1 Code Review....... 8 2.2 Mathematically-based verification......................... 19 2.3 Static analysis tools... 23 2.4

More information

Verification and Validation

Verification and Validation Steven Zeil February 13, 2013 Contents 1 The Process 2 2 Non-Testing V&V 3 2.1 Code Review........... 4 2.2 Mathematically-based verification.................................. 8 2.3 Static analysis tools.......

More information

Bisection Debugging. 1 Introduction. Thomas Gross. Carnegie Mellon University. Preliminary version

Bisection Debugging. 1 Introduction. Thomas Gross. Carnegie Mellon University. Preliminary version Bisection Debugging Thomas Gross School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 Institut für Computer Systeme ETH Zürich CH 8092 Zürich Preliminary version Abstract This paper

More information

Separating Product Variance and Domain Concepts in the Specification of Software Product Lines

Separating Product Variance and Domain Concepts in the Specification of Software Product Lines Separating Product Variance and Domain Concepts in the Specification of Software Product Lines Pertti Kellomäki Software Systems Laboratory, Tampere University of Technology P.O. Box 553, FIN-33101 Tampere,

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

Generalized Document Data Model for Integrating Autonomous Applications

Generalized Document Data Model for Integrating Autonomous Applications 6 th International Conference on Applied Informatics Eger, Hungary, January 27 31, 2004. Generalized Document Data Model for Integrating Autonomous Applications Zsolt Hernáth, Zoltán Vincellér Abstract

More information

INFORMATICS RESEARCH PROPOSAL REALTING LCC TO SEMANTIC WEB STANDARDS. Nor Amizam Jusoh (S ) Supervisor: Dave Robertson

INFORMATICS RESEARCH PROPOSAL REALTING LCC TO SEMANTIC WEB STANDARDS. Nor Amizam Jusoh (S ) Supervisor: Dave Robertson INFORMATICS RESEARCH PROPOSAL REALTING LCC TO SEMANTIC WEB STANDARDS Nor Amizam Jusoh (S0456223) Supervisor: Dave Robertson Abstract: OWL-S as one of the web services standards has become widely used by

More information

Development of Educational Software

Development of Educational Software Development of Educational Software Rosa M. Reis Abstract The use of computer networks and information technology are becoming an important part of the everyday work in almost all professions, especially

More information

Course Information

Course Information Course Information 2018-2020 Master of Information Systems: Management and Innovation Institutt for teknologi / Department of Technology Index Index... i 1... 1 1.1 Content... 1 1.2 Name... 1 1.3 Programme

More information

An Approach to the Generation of High-Assurance Java Card Applets

An Approach to the Generation of High-Assurance Java Card Applets An Approach to the Generation of High-Assurance Java Card Applets Alessandro Coglio Kestrel Institute 3260 Hillview Avenue, Palo Alto, CA 94304, USA Ph. +1-650-493-6871 Fax +1-650-424-1807 http://www.kestrel.edu/

More information

OPPORTUNITY FOR PLACEMENT AHRC Knowledge Exchange Fellow FuseBox/Wired Sussex

OPPORTUNITY FOR PLACEMENT AHRC Knowledge Exchange Fellow FuseBox/Wired Sussex OPPORTUNITY FOR PLACEMENT AHRC Knowledge Exchange Fellow FuseBox/Wired Sussex The AHRC in partnership with Wired Sussex is looking to recruit a Knowledge Exchange Fellow to be based at the FuseBox, an

More information

Program Analysis And Its Support in Software Development

Program Analysis And Its Support in Software Development Program Analysis And Its Support in Software Development Qing Yi class web site: www.cs.utsa.edu/~qingyi/cs6463 cs6463 1 A little about myself Qing Yi B.S. Shandong University, China. Ph.D. Rice University,

More information

Flight Systems are Cyber-Physical Systems

Flight Systems are Cyber-Physical Systems Flight Systems are Cyber-Physical Systems Dr. Christopher Landauer Software Systems Analysis Department The Aerospace Corporation Computer Science Division / Software Engineering Subdivision 08 November

More information

CS SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS

CS SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS 6403 - SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS 1. Explain iterative waterfall and spiral model for software life cycle and various activities

More information

Multiple Pivot Sort Algorithm is Faster than Quick Sort Algorithms: An Empirical Study

Multiple Pivot Sort Algorithm is Faster than Quick Sort Algorithms: An Empirical Study International Journal of Electrical & Computer Sciences IJECS-IJENS Vol: 11 No: 03 14 Multiple Algorithm is Faster than Quick Sort Algorithms: An Empirical Study Salman Faiz Solehria 1, Sultanullah Jadoon

More information

Promoting Global Cybersecurity

Promoting Global Cybersecurity Promoting Global Cybersecurity Presented to ITU-T Study Group 17 Geneva, Switzerland 6 October 2005 Robert Shaw ITU Internet Strategy and Policy Advisor ITU Strategy and Policy Unit 1 Agenda Critical Infrastructures

More information

Software Engineering 2 A practical course in software engineering. Ekkart Kindler

Software Engineering 2 A practical course in software engineering. Ekkart Kindler Software Engineering 2 A practical course in software engineering Quality Management Main Message Planning phase Definition phase Design phase Implem. phase Acceptance phase Mainten. phase 3 1. Overview

More information

Areas related to SW verif. Trends in Software Validation. Your Expertise. Research Trends High level. Research Trends - Ex 2. Research Trends Ex 1

Areas related to SW verif. Trends in Software Validation. Your Expertise. Research Trends High level. Research Trends - Ex 2. Research Trends Ex 1 Areas related to SW verif. Trends in Software Validation Abhik Roychoudhury CS 6214 Formal Methods Model based techniques Proof construction techniques Program Analysis Static Analysis Abstract Interpretation

More information

THE SELECTION OF THE ARCHITECTURE OF ELECTRONIC SERVICE CONSIDERING THE PROCESS FLOW

THE SELECTION OF THE ARCHITECTURE OF ELECTRONIC SERVICE CONSIDERING THE PROCESS FLOW THE SELECTION OF THE ARCHITECTURE OF ELECTRONIC SERVICE CONSIDERING THE PROCESS FLOW PETERIS STIPRAVIETIS, MARIS ZIEMA Institute of Computer Control, Automation and Computer Engineering, Faculty of Computer

More information

Introduction to Software Testing

Introduction to Software Testing Introduction to Software Testing Software Testing This paper provides an introduction to software testing. It serves as a tutorial for developers who are new to formal testing of software, and as a reminder

More information

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification vs validation Verification: "Are we building the product right?. The software should

More information

Formalizing Fact Extraction

Formalizing Fact Extraction atem 2003 Preliminary Version Formalizing Fact Extraction Yuan Lin 1 School of Computer Science University of Waterloo 200 University Avenue West Waterloo, ON N2L 3G1, Canada Richard C. Holt 2 School of

More information

CS 424 Software Quality Assurance & Testing LECTURE 3 BASIC CONCEPTS OF SOFTWARE TESTING - I

CS 424 Software Quality Assurance & Testing LECTURE 3 BASIC CONCEPTS OF SOFTWARE TESTING - I LECTURE 3 BASIC CONCEPTS OF SOFTWARE TESTING - I WHAT IS SOFTWARE TESTING? Testing can find faults in the software but cannot prove that the software is error-free. OBJECTIVES OF SOFTWARE TESTING To test

More information

Efficient Regression Test Model for Object Oriented Software

Efficient Regression Test Model for Object Oriented Software Efficient Regression Test Model for Object Oriented Software Swarna Lata Pati College of Engg. & Tech, Bhubaneswar Abstract : This paper presents an efficient regression testing model with an integration

More information

Software Testing. 1. Testing is the process of demonstrating that errors are not present.

Software Testing. 1. Testing is the process of demonstrating that errors are not present. What is Testing? Software Testing Many people understand many definitions of testing :. Testing is the process of demonstrating that errors are not present.. The purpose of testing is to show that a program

More information

MACHINE LEARNING BASED METHODOLOGY FOR TESTING OBJECT ORIENTED APPLICATIONS

MACHINE LEARNING BASED METHODOLOGY FOR TESTING OBJECT ORIENTED APPLICATIONS MACHINE LEARNING BASED METHODOLOGY FOR TESTING OBJECT ORIENTED APPLICATIONS N. Kannadhasan and B. Uma Maheswari Department of Master of Computer Applications St. Joseph s College of Engineering, Chennai,

More information

City, University of London Institutional Repository

City, University of London Institutional Repository City Research Online City, University of London Institutional Repository Citation: Foster, H. & Spanoudakis, G. (2012). Taming the cloud: Safety, certification and compliance for software services - Keynote

More information

Only the original curriculum in Danish language has legal validity in matters of discrepancy

Only the original curriculum in Danish language has legal validity in matters of discrepancy CURRICULUM Only the original curriculum in Danish language has legal validity in matters of discrepancy CURRICULUM OF 1 SEPTEMBER 2007 FOR THE BACHELOR OF ARTS IN INTERNATIONAL BUSINESS COMMUNICATION (BA

More information

IDEF* - A comprehensive Modelling Methodology for the Development of Manufacturing Enterprise Systems

IDEF* - A comprehensive Modelling Methodology for the Development of Manufacturing Enterprise Systems SIMTech Technical Report () IDEF* - A comprehensive Modelling Methodology for the Development of Manufacturing Dr Ang Cheng Leong (Operations & Supply Chain Applications Group, Manufacturing Information

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2002 Vol. 1, No. 2, July-August 2002 The Theory of Classification Part 2: The Scratch-Built

More information

SOFTWARE ENGINEERING

SOFTWARE ENGINEERING SOFTWARE ENGINEERING INTRODUCTION TO SOFTWARE ENGINEERING. COURSE STRUCTURE AND REQUIREMENTS Saulius Ragaišis saulius.ragaisis@mif.vu.lt WHAT IS SOFTWARE ENGINEERING? First definition Software engineering

More information

FUZZY SPECIFICATION IN SOFTWARE ENGINEERING

FUZZY SPECIFICATION IN SOFTWARE ENGINEERING 1 FUZZY SPECIFICATION IN SOFTWARE ENGINEERING V. LOPEZ Faculty of Informatics, Complutense University Madrid, Spain E-mail: ab vlopez@fdi.ucm.es www.fdi.ucm.es J. MONTERO Faculty of Mathematics, Complutense

More information

Capturing and Formalizing SAF Availability Management Framework Configuration Requirements

Capturing and Formalizing SAF Availability Management Framework Configuration Requirements Capturing and Formalizing SAF Availability Management Framework Configuration Requirements A. Gherbi, P. Salehi, F. Khendek and A. Hamou-Lhadj Electrical and Computer Engineering, Concordia University,

More information

Introduction to Formal Methods

Introduction to Formal Methods 2008 Spring Software Special Development 1 Introduction to Formal Methods Part I : Formal Specification i JUNBEOM YOO jbyoo@knokuk.ac.kr Reference AS Specifier s Introduction to Formal lmethods Jeannette

More information

SOFTWARE ENGINEERING

SOFTWARE ENGINEERING SOFTWARE ENGINEERING INTRODUCTION TO SOFTWARE ENGINEERING. COURSE STRUCTURE AND REQUIREMENTS Saulius Ragaišis saulius.ragaisis@mif.vu.lt WHAT IS SOFTWARE ENGINEERING? First definition Software engineering

More information

Designing and documenting the behavior of software

Designing and documenting the behavior of software Chapter 8 Designing and documenting the behavior of software Authors: Gürcan Güleşir, Lodewijk Bergmans, Mehmet Akşit Abstract The development and maintenance of today s software systems is an increasingly

More information

CURRICULUM VITAE. June, 2013

CURRICULUM VITAE. June, 2013 CURRICULUM VITAE ד"ר אבי סופר Dr. Avi Soffer June, 2013 ORT Braude College, Department of Software Engineering, P.O. Box 78, Karmiel 2161002, Israel Telephone: +972-4-990-1720 Email: asoffer@braude.ac.il

More information

MANUFACTURING SYSTEM MODELING USING PETRI NETS

MANUFACTURING SYSTEM MODELING USING PETRI NETS International Conference on Economic Engineering and Manufacturing Systems Braşov, 26 27 November 2009 MANUFACTURING SYSTEM MODELING USING PETRI NETS Daniela COMAN, Adela IONESCU, Mihaela FLORESCU University

More information

CURRICULUM MASTER OF DISASTER MANAGEMENT

CURRICULUM MASTER OF DISASTER MANAGEMENT CURRICULUM MASTER OF DISASTER MANAGEMENT Applicable to students enrolling in one or more of the below components of the Master of Disaster Management (MDMa) as of September 1 st 2013 The programme is delivered

More information

Design for usability

Design for usability Proceedings of HCI International 1999, 22-26 Aug, Munich Design for usability Nigel Bevan Serco Usability Services, 4 Sandy Lane, Teddington, Middlesex, TW11 0DU, UK, nbevan@usability.serco.com 1 Introduction

More information

3.4 Deduction and Evaluation: Tools Conditional-Equational Logic

3.4 Deduction and Evaluation: Tools Conditional-Equational Logic 3.4 Deduction and Evaluation: Tools 3.4.1 Conditional-Equational Logic The general definition of a formal specification from above was based on the existence of a precisely defined semantics for the syntax

More information

An Agent Modeling Language Implementing Protocols through Capabilities

An Agent Modeling Language Implementing Protocols through Capabilities An Agent Modeling Language Implementing Protocols through Capabilities Nikolaos Spanoudakis 1,2 1 Technical University of Crete, Greece nikos@science.tuc.gr Pavlos Moraitis 2 2 Paris Descartes University,

More information

Static Program Slicing for Composite Data using FSM-Model

Static Program Slicing for Composite Data using FSM-Model Static Program Slicing for Composite Data using FSM-Model K. Thiagarajan, C.Saravanakumar, G. Poonkuzhali, Ponnammal Natarajan, S.Jeyabharathi Abstract In the software development life cycle, the identification

More information

SCOS-2000 Technical Note

SCOS-2000 Technical Note SCOS-2000 Technical Note MDA Study Prototyping Technical Note Document Reference: Document Status: Issue 1.0 Prepared By: Eugenio Zanatta MDA Study Prototyping Page: 2 Action Name Date Signature Prepared

More information

European Component Oriented Architecture (ECOA ) Collaboration Programme: Architecture Specification Part 2: Definitions

European Component Oriented Architecture (ECOA ) Collaboration Programme: Architecture Specification Part 2: Definitions European Component Oriented Architecture (ECOA ) Collaboration Programme: Part 2: Definitions BAE Ref No: IAWG-ECOA-TR-012 Dassault Ref No: DGT 144487-D Issue: 4 Prepared by BAE Systems (Operations) Limited

More information

Scenario-based Synthesis of Annotated Class Diagrams in UML

Scenario-based Synthesis of Annotated Class Diagrams in UML Scenario-based Synthesis of Annotated Class Diagrams in UML Petri Selonen and Tarja Systä Tampere University of Technology, Software Systems Laboratory, P.O.Box 553, FIN-33101 Tampere, Finland {pselonen,tsysta}@cs.tut.fi

More information

Chapter 8 Software Testing. Chapter 8 Software testing

Chapter 8 Software Testing. Chapter 8 Software testing Chapter 8 Software Testing 1 Topics covered Introduction to testing Stages for testing software system are: Development testing Release testing User testing Test-driven development as interleave approach.

More information

Existing Model Metrics and Relations to Model Quality

Existing Model Metrics and Relations to Model Quality Existing Model Metrics and Relations to Model Quality Parastoo Mohagheghi, Vegard Dehlen WoSQ 09 ICT 1 Background In SINTEF ICT, we do research on Model-Driven Engineering and develop methods and tools:

More information

Model Checking of Statecharts using Automatic White Box Test Generation

Model Checking of Statecharts using Automatic White Box Test Generation Abstract Model Checking of Statecharts using Automatic White Box Test Generation Doron Drusinsky Time Rover, Inc., 11425 Charsan Lane, Cupertino, CA, 95014 www.time-rover.com This paper describes a model

More information

2 nd UML 2 Semantics Symposium: Formal Semantics for UML

2 nd UML 2 Semantics Symposium: Formal Semantics for UML 2 nd UML 2 Semantics Symposium: Formal Semantics for UML Manfred Broy 1, Michelle L. Crane 2, Juergen Dingel 2, Alan Hartman 3, Bernhard Rumpe 4, and Bran Selic 5 1 Technische Universität München, Germany

More information

Individual User Interfaces and. Model-based User Interface Software Tools. Egbert Schlungbaum

Individual User Interfaces and. Model-based User Interface Software Tools. Egbert Schlungbaum Individual User Interfaces and Model-based User Interface Software Tools by Egbert Schlungbaum GIT-GVU-96-28 November 1996 Graphics, Visualization & Usability Center Georgia Institute of Technology Atlanta,

More information

COMPARISON AND EVALUATION ON METRICS

COMPARISON AND EVALUATION ON METRICS COMPARISON AND EVALUATION ON METRICS BASED APPROACH FOR DETECTING CODE CLONE D. Gayathri Devi 1 1 Department of Computer Science, Karpagam University, Coimbatore, Tamilnadu dgayadevi@gmail.com Abstract

More information

OCL Support in MOF Repositories

OCL Support in MOF Repositories OCL Support in MOF Repositories Joachim Hoessler, Michael Soden Department of Computer Science Technical University Berlin hoessler@cs.tu-berlin.de, soden@cs.tu-berlin.de Abstract From metamodels that

More information

Increasing interconnection network connectivity for reducing operator complexity in asynchronous vision systems

Increasing interconnection network connectivity for reducing operator complexity in asynchronous vision systems Increasing interconnection network connectivity for reducing operator complexity in asynchronous vision systems Valentin Gies and Thierry M. Bernard ENSTA, 32 Bd Victor 75015, Paris, FRANCE, contact@vgies.com,

More information

DISCUSSION PAPER. Recommendations for a common UN System wide agenda on NCDs

DISCUSSION PAPER. Recommendations for a common UN System wide agenda on NCDs First Meeting of UN Funds, Programmes and Agencies on the Implementation of the Political Declaration of the High level Meeting of the General Assembly on the Prevention and Control of NCDs (New York,

More information

Requirements Validation and Negotiation

Requirements Validation and Negotiation REQUIREMENTS ENGINEERING LECTURE 2017/2018 Joerg Doerr Requirements Validation and Negotiation AGENDA Fundamentals of Requirements Validation Fundamentals of Requirements Negotiation Quality Aspects of

More information

TEXT DETECTION AND RECOGNITION IN CAMERA BASED IMAGES

TEXT DETECTION AND RECOGNITION IN CAMERA BASED IMAGES TEXT DETECTION AND RECOGNITION IN CAMERA BASED IMAGES Mr. Vishal A Kanjariya*, Mrs. Bhavika N Patel Lecturer, Computer Engineering Department, B & B Institute of Technology, Anand, Gujarat, India. ABSTRACT:

More information

Usability Evaluation as a Component of the OPEN Development Framework

Usability Evaluation as a Component of the OPEN Development Framework Usability Evaluation as a Component of the OPEN Development Framework John Eklund Access Testing Centre and The University of Sydney 112 Alexander Street, Crows Nest NSW 2065 Australia johne@testingcentre.com

More information

Gradational conception in Cleanroom Software Development

Gradational conception in Cleanroom Software Development Gradational conception in Cleanroom Software Development Anshu Sharma 1 and Shilpa Sharma 2 1 DAV Institute of Engineering and Technology, Kabir Nagar, Jalandhar, India 2 Lovely Professional University,

More information

Unsupervised Clustering of Requirements

Unsupervised Clustering of Requirements Technology Volume 1, Issue 2, October-December, 2013, pp. 183-188, IASTER 2013 www.iaster.com, Online: 2347-5099, Print: 2348-0009 Unsupervised Clustering of Requirements 1 B. Saranya, 2 R. Subha, 3 Dr.S.

More information

Integration Testing. Conrad Hughes School of Informatics. Slides thanks to Stuart Anderson

Integration Testing. Conrad Hughes School of Informatics. Slides thanks to Stuart Anderson Integration Testing Conrad Hughes School of Informatics Slides thanks to Stuart Anderson 19 February 2010 Software Testing: Lecture 10 1 Unit Test vs Integration Testing 1 The ideal in unit testing is

More information

Open PROMOL: An Experimental Language for Target Program Modification

Open PROMOL: An Experimental Language for Target Program Modification Open PROMOL: An Experimental Language for Target Program Modification Vytautas Štuikys, Robertas Damaševičius, Giedrius Ziberkas Software Engineering Department, Kaunas University of Technology Studentų

More information

Information Systems Interfaces (Advanced Higher) Information Systems (Advanced Higher)

Information Systems Interfaces (Advanced Higher) Information Systems (Advanced Higher) National Unit Specification: general information NUMBER DV51 13 COURSE Information Systems (Advanced Higher) SUMMARY This Unit is designed to develop knowledge and understanding of the principles of information

More information

COURSE DESIGN DISTANCE LEARNING COURSE. Certified Trainer for Financial Cooperatives (CTFC)

COURSE DESIGN DISTANCE LEARNING COURSE. Certified Trainer for Financial Cooperatives (CTFC) COURSE DESIGN DISTANCE LEARNING COURSE Certified Trainer for Financial Cooperatives (CTFC) CENTRE FOR PROFESSIONAL EXCELLENCE IN COOPERATIVES (C-PEC) BANKERS INSTITUTE OF RURAL DEVELOPMENT (BIRD) LUCKNOW

More information

An Information Model for High-Integrity Real Time Systems

An Information Model for High-Integrity Real Time Systems An Information Model for High-Integrity Real Time Systems Alek Radjenovic, Richard Paige, Philippa Conmy, Malcolm Wallace, and John McDermid High-Integrity Systems Group, Department of Computer Science,

More information