Recovery of PTUIE handling from source codes through recognizing its probable properties

Automated recovery of system features and their designs from program source codes is important in reverse engineering and system comprehension. It also helps in the testing of software. An error that is made by users in an input to an execution of a transaction and discovered only after the completion of the execution is called a posttransaction user-input error (PTUIE) of the transaction. For a transaction in any database application, usually, it is essential to-provide transactions for correcting the effect that could result from any PTUIE of the transaction. We discover some probable properties that exist between the control flow graph of a transaction and the control flow graphs of transactions for correcting PTUIE of the former transaction. Through recognizing these properties, we present a novel approach for the automated approximate recovery of provisions and designs for transactions to correct PTUIE of transactions in a database application. The approach recognizes these properties through analyzing the source codes of transactions in the database application statically.

[1]  C. V. Ramamoorthy,et al.  Optimal placement of software monitors aiding systematic testing , 1975, IEEE Transactions on Software Engineering.

[2]  Jens Krinke,et al.  Identifying similar code with program dependence graphs , 2001, Proceedings Eighth Working Conference on Reverse Engineering.

[3]  Kenny Wong Research challenges in the reverse engineering community , 2001, Proceedings 9th International Workshop on Program Comprehension. IWPC 2001.

[4]  Wei-Tek Tsai,et al.  Data-centered program understanding , 1994, Proceedings 1994 International Conference on Software Maintenance.

[5]  Klaus Havelund,et al.  Model Checking Programs , 2004, Automated Software Engineering.

[6]  Thomas Berlage,et al.  A selective undo mechanism for graphical user interfaces based on command objects , 1994, TCHI.

[7]  Wojtek Kozaczynski,et al.  Program Concept Recognition and Transformation , 1992, IEEE Trans. Software Eng..

[8]  Paul W. P. J. Grefen,et al.  Integrity Control in Relational Database Systems - An Overview , 1993, Data Knowl. Eng..

[9]  Betty H. C. Cheng,et al.  A framework for classifying and comparing software reverse engineering and design recovery techniques , 1999, Sixth Working Conference on Reverse Engineering (Cat. No.PR00303).

[10]  Wei-Tek Tsai,et al.  Omega-an integrated environment for C++ program maintenance , 1996, 1996 Proceedings of International Conference on Software Maintenance.

[11]  Joe D. Warren,et al.  The program dependence graph and its use in optimization , 1984, TOPL.

[12]  Jianhua Shao,et al.  Assisting the comprehension of legacy transactions , 2001, Proceedings Eighth Working Conference on Reverse Engineering.

[13]  Tok Wang Ling,et al.  Exploring into Programs for the Recovery of Data Dependencies Designed , 2002, IEEE Trans. Knowl. Data Eng..

[14]  Shari Lawrence Pfleeger,et al.  Preliminary Guidelines for Empirical Research in Software Engineering , 2002, IEEE Trans. Software Eng..

[15]  Wei-Tek Tsai,et al.  Business rule extraction from legacy code , 1996, Proceedings of 20th International Computer Software and Applications Conference: COMPSAC '96.

[16]  Ted J. Biggerstaff,et al.  Program understanding and the concept assignment problem , 1994, CACM.

[17]  Suraj C. Kothari,et al.  Recovering conceptual roles of data in a program , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[18]  Satish Chandra,et al.  Software model checking in practice: an industrial case study , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[19]  Robert E. Tarjan,et al.  A fast algorithm for finding dominators in a flowgraph , 1979, TOPL.

[20]  Kamran Sartipi,et al.  A graph pattern matching approach to software architecture recovery , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

[21]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[22]  Joseph P. Poole A Method to Determine a Basis Set of Paths to Perform Program Testing | NIST , 1995 .

[23]  Kathi Hogshead Davis,et al.  Data reverse engineering: a historical survey , 2000, Proceedings Seventh Working Conference on Reverse Engineering.

[24]  Victor R. Basili,et al.  The role of experimentation in software engineering: past, current, and future , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[25]  H. Rex Hartson,et al.  Temporal Aspects of Tasks in the User Action Notation , 1992, Hum. Comput. Interact..

[26]  Thomas R. Dean,et al.  Design recovery of a two level system , 2003, 11th IEEE International Workshop on Program Comprehension, 2003..

[27]  James Jaccard,et al.  Statistics for the Behavioral Sciences , 1983 .

[28]  Joe D. Warren,et al.  The program dependence graph and its use in optimization , 1987, TOPL.

[29]  J. D. Uiiman,et al.  Principles of Database Systems , 2004, PODS 2004.

[30]  Boris Beizer,et al.  Software testing techniques (2. ed.) , 1990 .

[31]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[32]  Bob Fields,et al.  Deriving human-error tolerance requirements from tasks , 1994, Proceedings of IEEE International Conference on Requirements Engineering.