Keywords- Program Slicing, PDG, Data dependence, Control dependence, Static Slice, Dynamic Slice.

Size: px
Start display at page:

Download "Keywords- Program Slicing, PDG, Data dependence, Control dependence, Static Slice, Dynamic Slice."

Transcription

1 Volume 3, Issue 11, November 2013 ISSN: X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: An Overview of Program Slicing and its Different Approaches Sk. Riazur Raheman 1 Amiya Kumar Rath 2 M Hima Bindu 3 Dept. of CSE Professor in CSE & Principal Professor & Head Dept. of CA Raajdhani Engineering College, Bhubaneswar DRIEMS, Cuttack NOU, Baripada Odisha, India, Odisha, India, Odisha, India, Abstract- The most difficult task a programmer faces is how to decompose a problem into a set of smaller and simpler sub-problems. Program slicing is a well-known program analytical technique that extracts the elements of a program related to particular computation. The conventional notion of a program slice is the set of all statements that might affect the value of a variable. Program slicing has been used for efficient program debugging activities, testing, program comprehension, restructuring, downsizing, and parallelizing. In this paper we address different types of program slicing techniques by considering a very simple example. Program slice is computed by analyzing dependence relations between program statements. To compute program slices we have constructed intermediate structures of a program such as program dependence graph. Also this paper addresses the comparison between different types of slices and applications of program slice in different fields. Keywords- Program Slicing, PDG, Data dependence, Control dependence, Static Slice, Dynamic Slice. I. INTRODUCTION Program slicing was first introduced by Weiser in 1979 [3]. It is a decomposition technique that extracts the relevant statements from program for a particular computation [2]. Weiser [3] defined a program slice S as a reduced, executable program obtained from a program P by removing statements, such that S replicates part of the behaviour of P. A program slice consists of the parts of a program that affect the values computed at some point of interest [3]. Such a point of interest is referred to as a slicing criterion, and typically consists of a pair C = <S, V>, where S is a program statement and V is a program variable [2]. The parts of a program that have an effect on the values computed at a slicing criterion C represent the program slice with respect to criterion C. The task of computing program slices is called program slicing. II. SLICING APPROACHES There are two major approaches in program slicing. The first approach is based on iteration of dataflow equations given by Weiser s [3]. According to Weiser s slices are computed in an iterative process, by computing successive sets of appropriate variables for each node in the CFG. The algorithm first computes directly appropriate statements for each node in the CFG, and then indirectly relevant statements are gradually added to the slice. The process stops when no more relevant statements are found. The second approach is slicing via graph reachability [1]. In this approach, slicing is divided into two steps. In the first step, dependence graph of the program is constructed, and then the graph will be traversed based on algorithm to produce slices. A dependence graph is a directed graph where vertices to represent program statements and edges to represent dependences among the statements. Reachablity analysis on the graph can be done by traversing edges on the graph from a node representing the slicing criteria [3]. In this paper we are using graph reachability approach to find the program slice. So let us discuss graph reachability approach in detail before calculation of slices. III. PROGRAM DEPENDENCE GRAPH Program Dependence Graph (PDG) of a program P is the graph G = (N, E), where N represents a statement of the program P and E represents inter-statement data or control dependency edges in program P [11, 7, 15, 22]. The program dependence graph contains two kinds of directed edges: data dependence edges and control dependence edges. Data Dependence: let G be the Program Dependence graph of program P and x and y be two nodes in G [6, 31, 33]. Node x is said to be data dependent on a node y if there exist a variable var of the program P such that the following hold: 1. The node x defines var 2. The node y uses var, and 3. There exists a directed path from x to y along which the var is not redefined. Consider the program given in Fig. 1 and its program dependence graph given in Fig. 2. The node 5 has data dependence on node 3 and 4. It is because node 3 and 4 define var i and n respectively and node 5 uses var i and n without redefinition. Like wise node 7 is data dependant on node 6. It is because node 6 defines var j and node 7 uses var j without redefinition. Like this, we have other types of data dependence in the graph. 2013, IJARCSSE All Rights Reserved Page 435

2 Control Dependence: let G be the Program Dependence graph of program P and x and y be two nodes in G [6, 33]. Node y is control dependent on a node x if the following hold: 1. x is a conditional predicate, and 2. The result of x determines whether y will be executed or not. Consider the program given in Fig. 1 and its program dependence graph in Fig. 2. The nodes 8, 9 and 10 are control dependent on node 7. It is because node 7 is a conditional predicate and execution of nodes 8, 9 and 10 depends on the value evaluated at node 7. Like that nodes 11, 12 and 13 are also control dependent on node 7 and so on. 1. int main() { 2. int A,B,C,i,j,n; 3. i = 1; 4. scanf( %d,&n); 5. while (i<n) { 6. scanf( %d,&j); 7. if(j<0){ 8. A=n-j; 9. B=A+i; 10. C=A+B; } else{ 11. A=n+j; 12. B=A-i; 13. C=A+B-i; } 14. i = i + 1; } 15. printf( %d \n, A); 16. printf( %d \n, B); 17. printf( %d \n, C); } Fig. 1: A Sample Program P IV. TYPES OF PROGRAM SLICING Depending upon the run-time environment slicing can be 1. Static slicing 2. Dynamic slicing Depending upon graph traversal slicing can be 1. Backward slicing 2. Forward slicing 2013, IJARCSSE All Rights Reserved Page 436

3 1. STATIC SLICING Static slices are computed by computing consecutive sets of relevant statements, according to data flow and control flow dependences [6]. This is called static slice, because only statically available information is used for computing slices. A static slice contains all statements that may affect the value of a variable at a program point for every possible input [35]. A static slice is always same or greater than the dynamic slice. To calculate static slice, first construct the Program Dependence Graph (PDG) of the given program. We calculate static slice with respect to a slicing criterion (P,V) where P is a statement and V is a variable used. In order to get a static slice for slicing criterion (P,V), PDG nodes are traversed in backward reachabilty using the concept of either Breadth First Search (BFS) or Depth First Search (DFS) starting from node P. Fig.3 shows a static slice of slicing criterion (15, A) for the program given in Fig.1. The static slice with respect to criterion ( 15, A) consists of the nodes { 1, 3, 4, 5, 6, 7, 8, 11, 14, 15 }. 2. DYNAMIC SLICE Dynamic slice was first introduced by Korel and Laski [4]. Dynamic slicing is based on particular execution of a program. The dynamic slices are computed with respect to the execution history. A dynamic slice with respect to a slicing criterion < P, V >, for a particular execution, contains those statements that actually affect the slicing criterion in the particular execution [6, 12, 35]. Dynamic slices are usually smaller than static slices, thus allowing an easier localization of the bugs and are more useful in program testing. We can say that dynamic slicing techniques compute precise slices. In calculation of a dynamic slice, we analyze dependence from an execution history. This history records the execution of statements as the program executes. Dynamic slice is calculated from PDG based on the dependence analysis of the execution history. Thus, statements that have not executed are removed from slice [12]. We calculate dynamic slice as follows [12]: 1. All nodes in the PDG are drawn dotted in the beginning. 2. As statements are executed, corresponding nodes in the graph are made solid. 3. In order to get a dynamic slice PDG is traversed only for solid nodes in backward reachabilty using the concept of either BFS or DFS starting from node P. All nodes reached during the traversal are made bold. The set of all bold nodes gives the desired slice. 4. Consider a particular execution of the program in Fig. 1 for the input value n=3, j=1 and j=-3 and its corresponding dynamic slice in Fig. 4. The input value n=3, j=1 and j=-3 yields the execution history < 1, 2, 3, 4, 51, 6, 7, 11, 12, 13, 14, 52, 62, 72, 8, 9, 10, 142, 53, 15, 16, 17 >. Now we construct the PDG of the program in Fig. 1. Initially all the nodes in PDG are drawn dotted. After getting the execution history corresponding nodes in the PDG are made solid. To calculate the dynamic slice PDG is traversed based on the slicing criterion [12]. The dynamic slice with respect to criterion ( n = 3, j = ( 1, -3 ), 15, A ) consists of the nodes { 1, 3, 4, 5, 6, 7, 8, 11, 14, 15 }. 2013, IJARCSSE All Rights Reserved Page 437

4 Consider the program in Fig. 1. In the statement 15 we display the value of A. This value of A is updated in statement 8 and 11. When we display the final value of A in statement 15 either it is updated by statement 8 or 11. As statement 15 is data dependent on statement 8 and 11 both the statements 8 and 11 are coming under the slice while calculating dynamic slice. Similarly, statement 5 is data dependent on statement 3 and 14. In the first iteration statement 5 depends on the value of i defined in statement 3, but in further execution value of i is updated by statement 14. Hence in next iteration statement 5 is no more depending on statement 3 for value of i, rather it is depending on statement 14. As statement 5 is data dependent on statement 3 and 14, both statements 3 and 14 are coming under dynamic slice. Hence dynamic slice calculated in the above method is not precise. We calculate dynamic slice in approach 2 as [12, 19, 28]: 1. Mark the edges of the Program Dependence Graph by solid lines as the corresponding dependencies arise during the program execution. 2. Unmark the solid edges of the program dependence graph by dotted lines when the dependency goes off. 3. Then traverse the graph using BFS or DFS only along solid edges to find the slice. Consider a particular execution of the program in Fig. 1 for the input value n=3, j=1 and j= -3 and its corresponding dynamic slice in Fig. 5 using approach 2. The dynamic slice with respect to criterion ( n = 3, j = ( 1, -3 ), 15, A ) consists of the nodes { 1, 4, 5, 6, 7, 8, 14, 15 }. 2013, IJARCSSE All Rights Reserved Page 438

5 3. BACKWARD SLICE A program can be traversed forward or backward from the slicing criterion. When we traverse it backwards it gives backward slicing. A backward slice of a program with respect to a program point p and set of program variables V consists of all statements and predicates in the program that may affect the value of variables in V at p. Backward slices contain all parts of the program that might have influenced the variable at the statement under consideration. The main applications of backward slicing are debugging and testing [20]. To compute a backward slice from point p, compute backward reachability in the PDG from node p using BFS or DFS. Consider the program given in Fig. 1 and its corresponding backward slice in Fig. 6 with respect to criterion (15, A). Backward slice consists of the nodes { 1, 3, 4, 5, 6, 7, 8, 11, 14, 15 }. 4. FORWARD SLICE When we traverse the graph forwards, it gives forward slicing. Forward slicing determines how a modification in a part of the program will affect other parts of the program. A forward slice of a program with respect to a program point p and set of program variables V consists of all statements and predicates in the program that may be affected by the value of variables in V at p. Forward slices contain all parts of the program that might be influenced by the variable. The main applications of forward slicing are Program debugging, program comprehension, program analysis, software maintenance and testing [20, 30]. To compute a forward slice from point p, compute forward reachability in the PDG from node p to other nodes. Consider the program given in Fig. 1 and its corresponding forward slice in Fig. 7 with respect to criterion (4, n). Forward slice consists of the nodes { 4, 5, 8, 11 }. 2013, IJARCSSE All Rights Reserved Page 439

6 V. COMPARISON OF STATIC AND DYNAMIC SLICES Static Slice 1. Only the dependences that occur in a specific execution of the program are taken into account. 2. Does not make assumptions regarding the input. 3. Slices will typically be larger, but will cater for every possible execution of the original program. 5. Contains all statements that may affect a variable for every possible 6. Not suitable for debugging as compared to dynamic slice Dynamic Slice 1. Slicing criterion is a triple (input, occurrence of a statement, variable). It specifies the input, and distinguishes between different occurrences of a statement in the execution history. 2. Assumes fixed input for a program. 3. Slices will typically be much smaller, but they will only cater for a single input. 5. Contains all statements that actually affect the value of a variable 6. Are very attractive as an aid to debugging, and in particular, that they are superior to static slices for this application. VI. APPLICATIONS OF SLICING Slicing is helpful in many aspects of the software development life cycle, including program debugging, software testing, software measurement, program comprehension, software maintenance, program parallelization and so on. Also it can be been applied to many other problem areas. The following section lists some of the applications of slicing in different fields. 1. DEBUGGING Debugging is a generalized term which essentially means to step through a process in order to systematically eliminate errors. In programming, debugging is done when undesirable program execution or termination occurs. Debugging is a necessary process in almost any new software or hardware development process, whether a commercial product or an enterprise or personal application program. Finding bugs in a program is always difficult [35]. The main application that Weiser had in mind for slicing was debugging [3], if a program computes an erroneous value for some variable x at some program point, the bug is likely to be found in the slice with respect to x at that point. This is achieved by setting the slicing criterion to be the variable for which an incorrect value is observed. Dynamic slicing in particular is appropriate when applying program slicing to debugging, as it produces smaller slices and makes available the inputs that caused the fault. Slicing cannot be used to identify bugs such as `missing initialisation of variable. If the original program does not contain a line of code then the slice will not contain it either. Although slicing cannot identify errors of omission, it has been argued that slicing can be used to aid the detection of such errors. 2. REGRESSION TESTING Regression Testing plays an important role in any scenario where a change has been made to a previously tested software code. Regression means retesting the unchanged parts of the application. Test cases are re-executed in order to check whether previous functionality of application is working fine and new changes have not introduced any new bugs. This testing is done to make sure that new code changes should not have side effects on the existing functionalities [21, 35]. Program slicing can be used to partition tests cases into those that need to be rerun, as they may have been affected by a change, and those that can be ignored, as their behavior can be guaranteed to be unaffected by the change. 3. SOFTWARE MAINTENANCE Software maintenance is the modification of a software product after delivery to correct faults, to improve performance or other attributes, or to adapt the product to a modified environment. The main challenges in effective software maintenance are to understand various dependencies in existing software and to make changes to the existing software without introducing new bugs [27]. 4. REVERSE ENGINEERING Reverse engineering is the process of analyzing a technology specifically to ascertain how it was designed or how it operates. Reverse engineering concerns the problem of comprehending the current design of a program and the way this design differs from the original design. Reverse engineering can be viewed as the process of analyzing a system to create representations of the system in another form or a higher level of abstraction [35]. 5. SOFTWARE QUALITY ASSURANCE Software quality assurance consists of a means of monitoring the software engineering processes and methods used to ensure quality. It provides a level of confidence that software is free from vulnerabilities, either intentionally designed into the software or inserted at anytime during its lifecycle and that the software functions in the intended manner [35]. The original motivation for program slicing was to aid the location of faults during debugging activities. This is achieved by setting the slicing criterion to be the variable for which an incorrect value is observed. 2013, IJARCSSE All Rights Reserved Page 440

7 VII. CONCLUSION This paper discussed about various types of slicing techniques like the static slicing, dynamic slicing, forward and backward slicing. Each category of slicing is explained in detail with program portion which was developed in C language. The application of slicing in various areas like debugging, maintenance and re-engineering and testing are highlighted in this paper. REFERENCES [1] Baowen Xu et al., A Brief Survey Of Program Slicing Department of Computer Science and Engineering, Southeast University, Nanjing , China, [2] Binkley D.W. and Gallagher K.B program slicing. Advances in computer, 43, [3] M. Weiser. Program slices: formal, psychological, and practical investigations of an automatic program abstraction method. PhD thesis, University of Michigan, Ann Arbor, [4] B. Korel and J. Laski. Dynamic program slicing. Information Processing Letters, 29(3): , [5] Sebastian Danicic et al., A unifying theory of control dependence and its application to arbitrary program structures, Theoretical Computer Science , [6] Frank Tip, A Survey of Program Slicing Techniques, CWI, P.O. Box 94079, 1090 GB Amsterdam, The Netherlands, [7] Raju Halder and Agostino Cortesi, Abstract program slicing on dependence condition graphs, Science of Computer Programming, [8] Torben Amtoft and Anindya Banerjee, A logic for information flow analysis with an application to forward slicing of simple imperative programs, Science of Computer Programming 64, 3 28, [9] Xiangyu Zhang et al., A study of effectiveness of dynamic slicing in locating real faults, Springer Science, 2006 [10] Wes Masri and Andy Podgurski, Algorithms and tool support for dynamic information flow analysis, Information and Software Technology 51, , [11] Liang D. and Harrold M. J. Slicing Objects Using System Dependence Graph. In Proceedings of the International Conference on Software Maintenance, IEEE, pages , November [12] Agrawal H. and Horgan J. R. Dynamic Program Slicing. In Proceedings of the ACM SIGPLAN 90 Conference on Programming Languages Design and Implementation, SIGPLAN Notices, Analysis and Verification, volume 25, pages , [13] Zhao J., Dynamic Slicing of Object-Oriented Programs. Technical report, Information Processing Society of Japan, May [14] Larsen L. and Harrold M. J., Slicing Object-Oriented Software. In Proceedings of 18th International Conference on Software Engineering, pages , March [15] Horwitz S. et al., Inter-Procedural Slicing Using Dependence Graphs. ACM Transactions on Programming Languages and Systems, 12(1):26 60, January [16] Chen Z. and Xu B. Slicing Object-Oriented Java Programs. ACM SIGPLAN Notices, 36(4), April [17] Varun Gupta, Jitender Kumar Chhabra, Dynamic cohesion measures for object-oriented software, Journal of Systems Architecture 57, , [18] Tao Jiang et al., Locating dependence structures using search-based slicing, Information and Software Technology 50, , [19] Mohapatra D. P. et al., A Node-Marking Technique for Dynamic Slicing of Object-Oriented Programs. In Proceedings of Conference on Software Design and Architecture (SODA 04), [20] G.A.Venkatesh., The semantic approach to program slicing. In Proceedings of the ACMSIGPLAN 91 Conference on Programming Language Design and Implementation, pages , SIGPLAN Notices 26(6). [21] Swarnendu Biswas and Rajib Mall, Regression Test Selection Techniques: A Survey, Informatica 35, , [22] A. Lakhotia, Graph theoretic foundations of program slicing and integration. ReportCACS TR , University of South-western Louisiana, [23] S. Horwitz and T. Reps, The use of program dependence graphs in software engineering. In Proceedings of the 14th International Conference on Software Engineering, pages , Melbourne, Australia, [24] S. Horwitz and T. Reps. Efficient comparison of program slices. Acta Informatica, 28: , [25] Andreas Lochbihler and Gregor Snelting, On temporal path conditions in dependence graphs, Autom Softw Eng, Springer Science, 16: , [26] Dennis Giffhorn and Christian Hammer, Precise slicing of concurrent programs - An Evaluation of static slicing algorithms for concurrent programs, Autom Softw Eng, Springer Science, 16: , [27] Keith Brian Gallagher and James R. Lyle, Using program slicing in software maintenance, IEEE Transactions on Software Engineering, 17(8), pp , [28] G B Mund and R mall, An efficient dynamic program slicing technique, Information and Software Technology, [29] Tonella et al., Flow insensitive C++ pointers and polymorphism analysis and its application to slicing. In Proceedings of 19th International Conference on Software Engineering, pp , [30] Song and Huynh, Forward Dynamic Object-Oriented Program Slicing, Application Specific Systems and Software Engineering and Technology (ASSET'99). IEEE CS Press, , IJARCSSE All Rights Reserved Page 441

8 [31] Madhusmita Sahu and Durga Prasad Mohapatra, A Node-Marking Technique for Slicing Concurrent Object- Oriented Programs, International Journal of Recent Trends in Engineering, Vol 1, No. 1, May [32] Takashi Ishio et al., Program Slicing Tool for Effective Software Evolution Using Aspect-Oriented Technique, Proceedings of the Sixth International Workshop on Principles of Software Evolution (IWPSE 03). [33] G.B. Mund, R. Mall*, S. Sarkar, Computation of intraprocedural dynamic program slices, Information and Software Technology 45, , 2003 [34] G.B. Mund, Rajib Mall, An efficient interprocedural dynamic slicing method, The Journal of Systems and Software 79, , [35] N.Sasirekha et al., Program Slicing Techniques And Its Applications, International Journal of Software Engineering & Applications (IJSEA), Vol.2, No.3, July [36] Durga Prasad Mohapatra et al., An Overview of Slicing Techniques for Object-Oriented Programs, Informatica 30, , [37] Jeff Russell, Program Slicing Literature Survey, December , IJARCSSE All Rights Reserved Page 442

Keywords: Regression testing, database applications, and impact analysis. Abstract. 1 Introduction

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, nmansour@lau.edu.lb Keywords: Regression

More information

Regression Testing Based on Comparing Fault Detection by multi criteria before prioritization and after prioritization

Regression Testing Based on Comparing Fault Detection by multi criteria before prioritization and after prioritization Regression Testing Based on Comparing Fault Detection by multi criteria before prioritization and after prioritization KanwalpreetKaur #, Satwinder Singh * #Research Scholar, Dept of Computer Science and

More information

A Framework for Dynamic Software Analysis & Application Performance Monitoring

A Framework for Dynamic Software Analysis & Application Performance Monitoring A Framework for Dynamic Software Analysis & Application Performance Monitoring Dr. Ashish Oberoi 1, Pallavi 2 1 (Cse, / M.M Engineering College, India) 2 (Cse, / M.M Engineering College, India) Abstract

More information

Incremental Slicing Based on Data-Dependences Types

Incremental Slicing Based on Data-Dependences Types Proceedings of the International Conference on Software Maintenance (ICSM 01), IEEE Copyright Incremental Slicing Based on Data-Dependences Types Alessandro Orso, Saurabh Sinha, and Mary Jean Harrold College

More information

Automated Validation & Verification of Software Paper Presentation

Automated Validation & Verification of Software Paper Presentation Regression Test Selection for Java Software Salvador Valencia Rodríguez Automated Validation & Verification of Software Paper Presentation Paper authors Mary Jean Harrold James A. Jones Tongyu Li Donglin

More information

Component visualization methods for large legacy software in C/C++

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 mcserep@caesar.elte.hu

More information

Survey of Software Fault Localization for Web Application

Survey of Software Fault Localization for Web Application International Journal of Current Engineering and Technology E-ISSN 2277 4106, P-ISSN 2347 5161 2015 INPRESSCO, All Rights Reserved Available at http://inpressco.com/category/ijcet Research Article Swati

More information

Client-Side Validation and Verification of PHP Dynamic Websites

Client-Side Validation and Verification of PHP Dynamic Websites American Journal of Engineering Research (AJER) e-issn : 2320-0847 p-issn : 2320-0936 Volume-02, Issue-09, pp-76-80 www.ajer.org Research Paper Open Access Client-Side Validation and Verification of PHP

More information

TOWARDS THE USE OF PROGRAM SLICING IN THE CHANGE IMPACT ANALYSIS OF ASPECT ORIENTED PROGRAMS

TOWARDS THE USE OF PROGRAM SLICING IN THE CHANGE IMPACT ANALYSIS OF ASPECT ORIENTED PROGRAMS TOWARDS THE USE OF PROGRAM SLICING IN THE CHANGE IMPACT ANALYSIS OF ASPECT ORIENTED PROGRAMS Imad BOUTERAA *, Nora BOUNOUR ** ** Laboratoire LRI, *,** Département d'informatique Université Badji-Mokhtar,

More information

call_entry incident_mgr call_info_channel incident_info_request_rpc incident_update _channel resource_mgr map_request_rpc1 dispatch_ request_ channel

call_entry incident_mgr call_info_channel incident_info_request_rpc incident_update _channel resource_mgr map_request_rpc1 dispatch_ request_ channel Using Dependence Analysis to Support Software Architecture Understanding Jianjun Zhao Department of Computer Science and Engineering Fukuoka Institute of Technology 3-10-1 Wajiro-Higashi, Higashi-ku, Fukuoka

More information

Review; questions Discussion of Semester Project Arbitrary interprocedural control flow Assign (see Schedule for links)

Review; questions Discussion of Semester Project Arbitrary interprocedural control flow Assign (see Schedule for links) Class 9 Review; questions Discussion of Semester Project Arbitrary interprocedural control flow Assign (see Schedule for links) Readings on pointer analysis Problem Set 5: due 9/22/09 Project proposal

More information

Test-suite Augmentation for Evolving Software

Test-suite Augmentation for Evolving Software Test-suite Augmentation for Evolving Software Raul Santelices, Pavan Kumar Chittimalli, Taweesup Apiwattanapong, + Alessandro Orso, and Mary Jean Harrold College of Computing, Georgia Institute of Technology,

More information

EVALUATING METRICS AT CLASS AND METHOD LEVEL FOR JAVA PROGRAMS USING KNOWLEDGE BASED SYSTEMS

EVALUATING METRICS AT CLASS AND METHOD LEVEL FOR JAVA PROGRAMS USING KNOWLEDGE BASED SYSTEMS EVALUATING METRICS AT CLASS AND METHOD LEVEL FOR JAVA PROGRAMS USING KNOWLEDGE BASED SYSTEMS Umamaheswari E. 1, N. Bhalaji 2 and D. K. Ghosh 3 1 SCSE, VIT Chennai Campus, Chennai, India 2 SSN College of

More information

Fault Localization in a Software Project using Back- Tracking Principles of Matrix Dependency

Fault Localization in a Software Project using Back- Tracking Principles of Matrix Dependency Fault Localization in a Software Project using Back- Tracking Principles of Matrix Dependency ABSTRACT Fault identification and testing has always been the most specific concern in the field of software

More information

Combining Static and Dynamic Impact Analysis for Large-scale Enterprise Systems

Combining Static and Dynamic Impact Analysis for Large-scale Enterprise Systems Combining Static and Dynamic Impact Analysis for Large-scale Enterprise Systems The 15th International Conference on Product-Focused Software Process Improvement, Helsinki, Finland. Wen Chen, Alan Wassyng,

More information

Keywords Class level metrics, Complexity, SDLC, Hybrid Model, Testability

Keywords Class level metrics, Complexity, SDLC, Hybrid Model, Testability Volume 5, Issue 4, April 2015 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com A Review of Static

More information

Representation and Analysis of Software

Representation and Analysis of Software Representation and Analysis of Software Mary Jean Harrold Gregg Rothermel Alex Orso Georgia ech Oregon State University Georgia ech 1 Introduction his paper presents some basic techniques for representation

More information

Finding Execution Faults in Dynamic Web Application

Finding Execution Faults in Dynamic Web Application International Journal of Information and Computation Technology. ISSN 0974-2239 Volume 4, Number 5 (2014), pp. 445-452 International Research Publications House http://www. irphouse.com /ijict.htm Finding

More information

PROGRAM SLICING TECHNIQUES AND ITS APPLICATIONS

PROGRAM SLICING TECHNIQUES AND ITS APPLICATIONS PROGRAM SLICING TECHNIQUES AND ITS APPLICATIONS N.Sasirekha 1, A.Edwin Robert 2 and Dr.M.Hemalatha 3 1 Doctoral Research Scholar, Karpagam University, Coimbatore, Tamilnadu, India nsasirekhaudt@gmail.com

More information

IMPROVING JAVA SOFTWARE THROUGH PACKAGE STRUCTURE ANALYSIS

IMPROVING JAVA SOFTWARE THROUGH PACKAGE STRUCTURE ANALYSIS IMPROVING JAVA SOFTWARE THROUGH PACKAGE STRUCTURE ANALYSIS Edwin Hautus Compuware Europe P.O. Box 12933 The Netherlands edwin.hautus@nl.compuware.com Abstract Packages are an important mechanism to decompose

More information

Mobile Storage and Search Engine of Information Oriented to Food Cloud

Mobile Storage and Search Engine of Information Oriented to Food Cloud Advance Journal of Food Science and Technology 5(10): 1331-1336, 2013 ISSN: 2042-4868; e-issn: 2042-4876 Maxwell Scientific Organization, 2013 Submitted: May 29, 2013 Accepted: July 04, 2013 Published:

More information

CS314: Course Summary

CS314: Course Summary CS314: Course Summary Prof. Robert B. France Dept. of Computer Science Colorado State University Robert B. France 1 1 Software Development Issues Explored - 1 Software engineering basics Why do we need

More information

Visualization. Program visualization

Visualization. Program visualization Visualization Program visualization Debugging programs without the aid of support tools can be extremely difficult. See My Hairest Bug War Stories, Marc Eisenstadt, Communications of the ACM, Vol 40, No

More information

Ph.D. Thesis. Ákos Hajnal. Research Supervisors: István Forgács, Ph.D. László Zsolt Varga, Ph.D.

Ph.D. Thesis. Ákos Hajnal. Research Supervisors: István Forgács, Ph.D. László Zsolt Varga, Ph.D. Practical Application of Program Slicing and Its Use in Software Testing and Maintenance Ph.D. Thesis Ákos Hajnal Research Supervisors: István Forgács, Ph.D. László Zsolt Varga, Ph.D. Eötvös Loránd University

More information

Verifying Semantic of System Composition for an Aspect-Oriented Approach

Verifying Semantic of System Composition for an Aspect-Oriented Approach 2012 International Conference on System Engineering and Modeling (ICSEM 2012) IPCSIT vol. 34 (2012) (2012) IACSIT Press, Singapore Verifying Semantic of System Composition for an Aspect-Oriented Approach

More information

Supporting Software Development Process Using Evolution Analysis : a Brief Survey

Supporting Software Development Process Using Evolution Analysis : a Brief Survey Supporting Software Development Process Using Evolution Analysis : a Brief Survey Samaneh Bayat Department of Computing Science, University of Alberta, Edmonton, Canada samaneh@ualberta.ca Abstract During

More information

AN APPROACH FOR SOFTWARE TEST CASE SELECTION USING HYBRID PSO

AN APPROACH FOR SOFTWARE TEST CASE SELECTION USING HYBRID PSO INTERNATIONAL JOURNAL OF RESEARCH IN COMPUTER APPLICATIONS AND ROBOTICS ISSN 2320-7345 AN APPROACH FOR SOFTWARE TEST CASE SELECTION USING HYBRID PSO 1 Preeti Bala Thakur, 2 Prof. Toran Verma 1 Dept. of

More information

Chapter 4 Software Lifecycle and Performance Analysis

Chapter 4 Software Lifecycle and Performance Analysis Chapter 4 Software Lifecycle and Performance Analysis This chapter is aimed at illustrating performance modeling and analysis issues within the software lifecycle. After having introduced software and

More information

KEEP THIS COPY FOR REPRODUCTION PURPOSES. I ~~~~~Final Report

KEEP THIS COPY FOR REPRODUCTION PURPOSES. I ~~~~~Final Report MASTER COPY KEEP THIS COPY FOR REPRODUCTION PURPOSES 1 Form Approved REPORT DOCUMENTATION PAGE I OMS No. 0704-0188 Public reoorting burden for this collection of information is estimated to average I hour

More information

Software Testing & Analysis (F22ST3): Static Analysis Techniques 2. Andrew Ireland

Software Testing & Analysis (F22ST3): Static Analysis Techniques 2. Andrew Ireland Software Testing & Analysis (F22ST3) Static Analysis Techniques Andrew Ireland School of Mathematical and Computer Science Heriot-Watt University Edinburgh Software Testing & Analysis (F22ST3): Static

More information

Automatic Assessment of Programming assignment

Automatic Assessment of Programming assignment Automatic Assessment of Programming assignment Surendra Gupta 1 and Shiv Kumar Dubey 2 Department of Computer Engineering Shri G. S. Institute of Technology & Science 23, Park Road Indore 452003 (MP) India

More information

Fault Localization for Java Programs Using Probabilistic Program Dependence Graph

Fault Localization for Java Programs Using Probabilistic Program Dependence Graph Fault Localization for Java Programs Using Probabilistic Program Dependence Graph A.Askarunisa 1, T. Manju 2 and B. Giri Babu 1 Computer Science and Engineering, Thiagarajar College Of Engineering, Madurai,

More information

A Formal Model of Program Dependences and Its Implications for Software Testing, Debugging, and Maintenance

A Formal Model of Program Dependences and Its Implications for Software Testing, Debugging, and Maintenance A Formal Model of Program Dependences and Its Implications for Software Testing, Debugging, and Maintenance Andy Podgurski Lori A. Clarke Computer Engineering & Science Department Case Western Reserve

More information

General Flow-Sensitive Pointer Analysis and Call Graph Construction

General Flow-Sensitive Pointer Analysis and Call Graph Construction General Flow-Sensitive Pointer Analysis and Call Graph Construction Endre Horváth, István Forgács, Ákos Kiss, Judit Jász and Tibor Gyimóthy University of Szeged 4D Soft Ltd. Aradi Vértanúk tere 1. Soroksári

More information

CHAPTER 1 INTRODUCTION

CHAPTER 1 INTRODUCTION 1 CHAPTER 1 INTRODUCTION 1.1 Overview Software testing is a verification process in which an application of the software or the program meets the business requirements and technology that have dominated

More information

The Improvement of Test Case Selection for the Process Software Maintenance

The Improvement of Test Case Selection for the Process Software Maintenance The Improvement of Test Case Selection for the Process Software Maintenance Adtha Lawanna* Abstract following topics in software-development life cycle (SDLC) Software maintenance is one of the critical

More information

A Test Case Generator for the Validation of High-Level Petri Nets

A Test Case Generator for the Validation of High-Level Petri Nets A Test Case Generator for the Validation of High-Level Petri Nets Jörg Desel Institut AIFB Universität Karlsruhe D 76128 Karlsruhe Germany E-mail: desel@aifb.uni-karlsruhe.de Andreas Oberweis, Torsten

More information

Automated Test Approach for Web Based Software

Automated Test Approach for Web Based Software Automated Test Approach for Web Based Software Indrajit Pan 1, Subhamita Mukherjee 2 1 Dept. of Information Technology, RCCIIT, Kolkata 700 015, W.B., India 2 Dept. of Information Technology, Techno India,

More information

Change Impact Analysis

Change Impact Analysis Change Impact Analysis Martin Ward Reader in Software Engineering martin@gkc.org.uk Software Technology Research Lab De Montfort University Change Impact Analysis Impact analysis is a process that predicts

More information

IMPROVING BUSINESS PROCESS MODELING USING RECOMMENDATION METHOD

IMPROVING BUSINESS PROCESS MODELING USING RECOMMENDATION METHOD Journal homepage: www.mjret.in ISSN:2348-6953 IMPROVING BUSINESS PROCESS MODELING USING RECOMMENDATION METHOD Deepak Ramchandara Lad 1, Soumitra S. Das 2 Computer Dept. 12 Dr. D. Y. Patil School of Engineering,(Affiliated

More information

Optimization of ETL Work Flow in Data Warehouse

Optimization of ETL Work Flow in Data Warehouse Optimization of ETL Work Flow in Data Warehouse Kommineni Sivaganesh M.Tech Student, CSE Department, Anil Neerukonda Institute of Technology & Science Visakhapatnam, India. Sivaganesh07@gmail.com P Srinivasu

More information

Comparative Study of Automated testing techniques for Mobile Apps

Comparative Study of Automated testing techniques for Mobile Apps Comparative Study of Automated testing techniques for Mobile Apps Anureet Kaur, Dr.Kulwant Kaur, Amritpal Singh Ph.D., Research Scholar, PTU, Jalandhar(India), Dean and Asst Prof, Apeejay Institute of

More information

Minimize Response Time Using Distance Based Load Balancer Selection Scheme

Minimize Response Time Using Distance Based Load Balancer Selection Scheme Minimize Response Time Using Distance Based Load Balancer Selection Scheme K. Durga Priyanka M.Tech CSE Dept., Institute of Aeronautical Engineering, HYD-500043, Andhra Pradesh, India. Dr.N. Chandra Sekhar

More information

An Exception Monitoring System for Java

An Exception Monitoring System for Java An Exception Monitoring System for Java Heejung Ohe and Byeong-Mo Chang Department of Computer Science, Sookmyung Women s University, Seoul 140-742, Korea {lutino, chang@sookmyung.ac.kr Abstract. Exception

More information

Parallel Execution of Prioritized Test Cases for Regression Testing of Web Applications

Parallel Execution of Prioritized Test Cases for Regression Testing of Web Applications Proceedings of the Thirty-Sixth Australasian Computer Science Conference (ACSC 2013), Adelaide, Australia Parallel Execution of Prioritized Test Cases for Regression Testing of Web Applications Deepak

More information

Axiomatic design of software systems

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.

More information

Dataflow approach to testing Java programs supported with DFC

Dataflow approach to testing Java programs supported with DFC e-informatica Software Engineering Journal, Volume 9, Issue 1, 2015, pages: 9 19, DOI 10.5277/e-Inf150101 Dataflow approach to testing Java programs supported with DFC Ilona Bluemke, Artur Rembiszewski

More information

Applying Dynamic Change Impact Analysis in Component-based Architecture Design

Applying Dynamic Change Impact Analysis in Component-based Architecture Design Applying Dynamic Change Impact Analysis in Component-based Architecture Design Tie Feng College of Computer Science and Technology Jilin University, China Changchun Jilin 130012 fengtie@jlu.edu.cn Abstract

More information

Web Application Regression Testing: A Session Based Test Case Prioritization Approach

Web Application Regression Testing: A Session Based Test Case Prioritization Approach Web Application Regression Testing: A Session Based Test Case Prioritization Approach Mojtaba Raeisi Nejad Dobuneh 1, Dayang Norhayati Abang Jawawi 2, Mohammad V. Malakooti 3 Faculty and Head of Department

More information

YOKING OBJECT ORIENTED METRICS THROUGH MUTATION TESTING FOR MINIMIZING TIME PERIOD RAMIFICATION

YOKING OBJECT ORIENTED METRICS THROUGH MUTATION TESTING FOR MINIMIZING TIME PERIOD RAMIFICATION YOKING OBJECT ORIENTED METRICS THROUGH MUTATION TESTING FOR MINIMIZING TIME PERIOD RAMIFICATION 1 Chandu P.M.S.S., 2 Dr.T.Sasikala 1. Research Scholar, Department of CSE, Sathyabama University, Chennai,

More information

DYNAMIC QUERY FORMS WITH NoSQL

DYNAMIC QUERY FORMS WITH NoSQL IMPACT: International Journal of Research in Engineering & Technology (IMPACT: IJRET) ISSN(E): 2321-8843; ISSN(P): 2347-4599 Vol. 2, Issue 7, Jul 2014, 157-162 Impact Journals DYNAMIC QUERY FORMS WITH

More information

AN EFFICIENT LOAD BALANCING APPROACH IN CLOUD SERVER USING ANT COLONY OPTIMIZATION

AN EFFICIENT LOAD BALANCING APPROACH IN CLOUD SERVER USING ANT COLONY OPTIMIZATION AN EFFICIENT LOAD BALANCING APPROACH IN CLOUD SERVER USING ANT COLONY OPTIMIZATION Shanmuga Priya.J 1, Sridevi.A 2 1 PG Scholar, Department of Information Technology, J.J College of Engineering and Technology

More information

Scalable Dynamic Information Flow Tracking and its Applications

Scalable Dynamic Information Flow Tracking and its Applications Scalable Dynamic Information Flow Tracking and its Applications Rajiv Gupta, Neelam Gupta, Xiangyu Zhang Dennis Jeffrey, Vijay Nagarajan, Sriraman Tallam, Chen Tian UC Riverside & Univ. of Arizona & Purdue

More information

Test Coverage Criteria for Autonomous Mobile Systems based on Coloured Petri Nets

Test Coverage Criteria for Autonomous Mobile Systems based on Coloured Petri Nets 9th Symposium on Formal Methods for Automation and Safety in Railway and Automotive Systems Institut für Verkehrssicherheit und Automatisierungstechnik, TU Braunschweig, 2012 FORMS/FORMAT 2012 (http://www.forms-format.de)

More information

INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET)

INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) International Journal of Computer Engineering and Technology (IJCET), ISSN 0976 6367(Print), ISSN 0976 6367(Print) ISSN 0976 6375(Online)

More information

Firewall Verification and Redundancy Checking are Equivalent

Firewall Verification and Redundancy Checking are Equivalent Firewall Verification and Redundancy Checking are Equivalent H. B. Acharya University of Texas at Austin acharya@cs.utexas.edu M. G. Gouda National Science Foundation University of Texas at Austin mgouda@nsf.gov

More information

MALLET-Privacy Preserving Influencer Mining in Social Media Networks via Hypergraph

MALLET-Privacy Preserving Influencer Mining in Social Media Networks via Hypergraph MALLET-Privacy Preserving Influencer Mining in Social Media Networks via Hypergraph Janani K 1, Narmatha S 2 Assistant Professor, Department of Computer Science and Engineering, Sri Shakthi Institute of

More information

Coverability for Parallel Programs

Coverability for Parallel Programs 2015 http://excel.fit.vutbr.cz Coverability for Parallel Programs Lenka Turoňová* Abstract We improve existing method for the automatic verification of systems with parallel running processes. The technique

More information

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY A PATH FOR HORIZING YOUR INNOVATIVE WORK A REVIEW ON THE USAGE OF OLD AND NEW DATA STRUCTURE ARRAYS, LINKED LIST, STACK,

More information

Extracting Client-Side Web application code

Extracting Client-Side Web application code Extracting Client-Side Web application code Josip Maras Department for Modelling and Intelligent Systems University of Split Split, Croatia josip.maras@fesb.hr Jan Carlson, Ivica Crnković Mälardalen Real-Time

More information

Change impact analysis to support architectural evolution

Change impact analysis to support architectural evolution JOURNAL OF SOFTWARE MAINTENANCE AND EVOLUTION: RESEARCH AND PRACTICE J. Softw. Maint. Evol.: Res. Pract. 2002; 14:317 333 (DOI: 10.1002/smr.258) Research Change impact analysis to support architectural

More information

An Analysis on Objectives, Importance and Types of Software Testing

An Analysis on Objectives, Importance and Types of Software Testing Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 2, Issue. 9, September 2013,

More information

Fuzzy Cognitive Map for Software Testing Using Artificial Intelligence Techniques

Fuzzy Cognitive Map for Software Testing Using Artificial Intelligence Techniques Fuzzy ognitive Map for Software Testing Using Artificial Intelligence Techniques Deane Larkman 1, Masoud Mohammadian 1, Bala Balachandran 1, Ric Jentzsch 2 1 Faculty of Information Science and Engineering,

More information

COMPARISON OF OBJECT-ORIENTED AND PROCEDURE-BASED COMPUTER LANGUAGES: CASE STUDY OF C++ PROGRAMMING

COMPARISON OF OBJECT-ORIENTED AND PROCEDURE-BASED COMPUTER LANGUAGES: CASE STUDY OF C++ PROGRAMMING COMPARISON OF OBJECT-ORIENTED AND PROCEDURE-BASED COMPUTER LANGUAGES: CASE STUDY OF C++ PROGRAMMING Kuan C. Chen, Ph.D. Assistant Professor Management Information Systems School of Management Purdue University

More information

Forensic Analysis of File System Intrusions using Improved Backtracking

Forensic Analysis of File System Intrusions using Improved Backtracking Forensic Analysis of File System Intrusions using Improved Backtracking Sriranjani Sitaraman and S. Venkatesan Department of Computer Science The University of Texas at Dallas Richardson, Texas 75083-0688.

More information

Regression Test Selection for Java Software

Regression Test Selection for Java Software Proc. of the ACM Conf. on OO Programming, Systems, Languages, and Applications (OOPSLA ), ACM Copyright. Regression Test Selection for Java Software Mary Jean Harrold harrold@cc.gatech.edu Alessandro Orso

More information

Review of Mobile Applications Testing with Automated Techniques

Review of Mobile Applications Testing with Automated Techniques Review of Mobile Testing with Automated Techniques Anureet Kaur Asst Prof, Guru Nanak Dev University, Amritsar, Punjab Abstract: As the mobile applications and mobile consumers are rising swiftly, it is

More information

MANAGING OF IMMENSE CLOUD DATA BY LOAD BALANCING STRATEGY. Sara Anjum 1, B.Manasa 2

MANAGING OF IMMENSE CLOUD DATA BY LOAD BALANCING STRATEGY. Sara Anjum 1, B.Manasa 2 INTERNATIONAL JOURNAL OF ADVANCED RESEARCH IN ENGINEERING AND SCIENCE MANAGING OF IMMENSE CLOUD DATA BY LOAD BALANCING STRATEGY Sara Anjum 1, B.Manasa 2 1 M.Tech Student, Dept of CSE, A.M.R. Institute

More information

Regression Testing of Web Services Using Parsing and Test case Prioritization Approach

Regression Testing of Web Services Using Parsing and Test case Prioritization Approach Regression Testing of Web Services Using Parsing and Test case Prioritization Approach Shaveta Sehgal Desh Bhagat University,Mandi Gobindgarh Abstract- Web services are the basic building blocks for every

More information

International Journal of Emerging Technologies in Computational and Applied Sciences (IJETCAS) www.iasir.net

International Journal of Emerging Technologies in Computational and Applied Sciences (IJETCAS) www.iasir.net International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research) International Journal of Emerging Technologies in Computational

More information

Method of Fault Detection in Cloud Computing Systems

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,

More information

Towards Improving Object-Oriented Software Maintenance during Change Impact Analysis

Towards Improving Object-Oriented Software Maintenance during Change Impact Analysis Towards Improving Object-Oriented Software Maintenance during Change Impact Analysis Bassey Isong 1 and Obeten Ekabua 2 Department of Computer Science, North-West University, Mmabatho, Mafikeng, South

More information

Formal Methods for Preserving Privacy for Big Data Extraction Software

Formal Methods for Preserving Privacy for Big Data Extraction Software Formal Methods for Preserving Privacy for Big Data Extraction Software M. Brian Blake and Iman Saleh Abstract University of Miami, Coral Gables, FL Given the inexpensive nature and increasing availability

More information

Program Understanding in Software Engineering

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

More information

COMPARING MATRIX-BASED AND GRAPH-BASED REPRESENTATIONS FOR PRODUCT DESIGN

COMPARING MATRIX-BASED AND GRAPH-BASED REPRESENTATIONS FOR PRODUCT DESIGN 12 TH INTERNATIONAL DEPENDENCY AND STRUCTURE MODELLING CONFERENCE, 22 23 JULY 2010, CAMBRIDGE, UK COMPARING MATRIX-BASED AND GRAPH-BASED REPRESENTATIONS FOR PRODUCT DESIGN Andrew H Tilstra 1, Matthew I

More information

A survey of code-based change impact analysis techniques

A survey of code-based change impact analysis techniques SOFTWARE TESTING, VERIFICATION AND RELIABILITY Softw. Test. Verif. Reliab. (2012) Published online in Wiley Online Library (wileyonlinelibrary.com)..1475 A survey of code-based change impact analysis techniques

More information

Change Impact Analysis for the Software Development Phase: State-of-the-art

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 nazrikama@ic.utm.my Abstract Impact analysis

More information

Random vs. Structure-Based Testing of Answer-Set Programs: An Experimental Comparison

Random vs. Structure-Based Testing of Answer-Set Programs: An Experimental Comparison Random vs. Structure-Based Testing of Answer-Set Programs: An Experimental Comparison Tomi Janhunen 1, Ilkka Niemelä 1, Johannes Oetsch 2, Jörg Pührer 2, and Hans Tompits 2 1 Aalto University, Department

More information

Fault Analysis in Software with the Data Interaction of Classes

Fault Analysis in Software with the Data Interaction of Classes , pp.189-196 http://dx.doi.org/10.14257/ijsia.2015.9.9.17 Fault Analysis in Software with the Data Interaction of Classes Yan Xiaobo 1 and Wang Yichen 2 1 Science & Technology on Reliability & Environmental

More information

The Analysis Method about Change Domain of Business Process Model Based on the Behavior Profile of Petri Net

The Analysis Method about Change Domain of Business Process Model Based on the Behavior Profile of Petri Net Appl. Math. Inf. Sci. 6-3S, No. 3, 943-949 (2012) 943 Applied Mathematics & Information Sciences An International Journal The Analysis Method about Change Domain of Business Process Model Based on the

More information

A Framework of Model-Driven Web Application Testing

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

More information

A Scala DSL for Rete-based Runtime Verification

A Scala DSL for Rete-based Runtime Verification A Scala DSL for Rete-based Runtime Verification Klaus Havelund Jet Propulsion Laboratory California Institute of Technology, California, USA Abstract. Runtime verification (RV) consists in part of checking

More information

Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification

Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification Introduction Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification Advanced Topics in Software Engineering 1 Concurrent Programs Characterized by

More information

AN EFFICIENT STRATEGY OF AGGREGATE SECURE DATA TRANSMISSION

AN EFFICIENT STRATEGY OF AGGREGATE SECURE DATA TRANSMISSION INTERNATIONAL JOURNAL OF REVIEWS ON RECENT ELECTRONICS AND COMPUTER SCIENCE AN EFFICIENT STRATEGY OF AGGREGATE SECURE DATA TRANSMISSION K.Anusha 1, K.Sudha 2 1 M.Tech Student, Dept of CSE, Aurora's Technological

More information

MapReduce. MapReduce and SQL Injections. CS 3200 Final Lecture. Introduction. MapReduce. Programming Model. Example

MapReduce. MapReduce and SQL Injections. CS 3200 Final Lecture. Introduction. MapReduce. Programming Model. Example MapReduce MapReduce and SQL Injections CS 3200 Final Lecture Jeffrey Dean and Sanjay Ghemawat. MapReduce: Simplified Data Processing on Large Clusters. OSDI'04: Sixth Symposium on Operating System Design

More information

International Journal of Advanced Research in Computer Science and Software Engineering

International Journal of Advanced Research in Computer Science and Software Engineering Volume 3, Issue 3, March 2013 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Performance of

More information

Semantic Concept Based Retrieval of Software Bug Report with Feedback

Semantic Concept Based Retrieval of Software Bug Report with Feedback Semantic Concept Based Retrieval of Software Bug Report with Feedback Tao Zhang, Byungjeong Lee, Hanjoon Kim, Jaeho Lee, Sooyong Kang, and Ilhoon Shin Abstract Mining software bugs provides a way to develop

More information

STRUCTURAL SOFTWARE TESTING: HYBRID ALGORITHM FOR OPTIMAL TEST SEQUENCE SELECTION DURING REGRESSION TESTING

STRUCTURAL SOFTWARE TESTING: HYBRID ALGORITHM FOR OPTIMAL TEST SEQUENCE SELECTION DURING REGRESSION TESTING STRUCTURAL SOFTWARE TESTING: HYBRID ALGORITHM FOR OPTIMAL TEST SEQUENCE SELECTION DURING REGRESSION TESTING J. Albert Mayan 1 and T. Ravi 2 1 Faculty of Computing, Sathyabama University, Chennai, India

More information

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The

More information

Diagram of Security. - define the attributes of Diagram of security that make it possible to evaluate security properties of modeled elements,

Diagram of Security. - define the attributes of Diagram of security that make it possible to evaluate security properties of modeled elements, Diagram of Security Marek Vysoký Department of Computers and Informatics Faculty of Electrical Engineering and Informatics Technical University of Košice Letná 9, 042 00 Košice, Slovakia mvysoky@lundegaard.sk

More information

Enhancing MapReduce Functionality for Optimizing Workloads on Data Centers

Enhancing MapReduce Functionality for Optimizing Workloads on Data Centers Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 2, Issue. 10, October 2013,

More information

Log Mining Based on Hadoop s Map and Reduce Technique

Log Mining Based on Hadoop s Map and Reduce Technique Log Mining Based on Hadoop s Map and Reduce Technique ABSTRACT: Anuja Pandit Department of Computer Science, anujapandit25@gmail.com Amruta Deshpande Department of Computer Science, amrutadeshpande1991@gmail.com

More information

Software Testing Strategies and Techniques

Software Testing Strategies and Techniques Software Testing Strategies and Techniques Sheetal Thakare 1, Savita Chavan 2, Prof. P. M. Chawan 3 1,2 MTech, Computer Engineering VJTI, Mumbai 3 Associate Professor, Computer Technology Department, VJTI,

More information

International Journal of Advanced Research in Computer Science and Software Engineering

International Journal of Advanced Research in Computer Science and Software Engineering Volume 3, Issue 3, March 2013 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Coupling and Cohesion

More information

Basic Testing Concepts and Terminology

Basic Testing Concepts and Terminology T-76.5613 Software Testing and Quality Assurance Lecture 2, 13.9.2006 Basic Testing Concepts and Terminology Juha Itkonen SoberIT Contents Realities and principles of Testing terminology and basic concepts

More information

Search based Software Testing Technique for Structural Test Case Generation

Search based Software Testing Technique for Structural Test Case Generation Search based Software Testing Technique for Structural Test Case Generation M. S. Geetha Devasena Assistant Professor, Dept. of CSE Sri Ramakrishna Engg. College M. L. Valarmathi Associate Professor Dept.

More information

International Journal of Advance Research in Computer Science and Management Studies

International Journal of Advance Research in Computer Science and Management Studies Volume 2, Issue 12, December 2014 ISSN: 2321 7782 (Online) International Journal of Advance Research in Computer Science and Management Studies Research Article / Survey Paper / Case Study Available online

More information

A Requirement Level Modification Analysis Support Framework

A Requirement Level Modification Analysis Support Framework A Requirement Level Modification Analysis Support Framework Maryam Shiri, Jameleddine Hassine, Juergen Rilling Concordia University, Montreal, Canada {ma_shiri,j_hassin, rilling}@cse.concordia.ca Abstract

More information

Chapter 17 Software Testing Strategies Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman For

More information

CSC408H Lecture Notes

CSC408H Lecture Notes CSC408H Lecture Notes These lecture notes are provided for the personal use of students taking Software Engineering course in the Summer term 2005 at the University of Toronto. Copying for purposes other

More information