This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Recovery of PTUIE Handling from Source Codes through Recognizing Its Probable Properties
October 2004 (vol. 16 no. 10)
pp. 1217-1231
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, this paper presents 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] V.R. Basili, “The Role of Experimentation: Past, Current, and Future,” Proc. 18th Int'l Conf. Software Eng., pp. 442–450, IEEE Computer Society, 1996.
[2] B. Beizer, Software Testing Techniques. New York: Van Nostrand Reinhold, 1990.
[3] T.A. Berlage, Selective Undo Mechanism for Graphical User Interfaces Based on Command Records ACM Trans. Human-Computer Interaction, vol. 1, no. 3, pp. 269-294, 1994.
[4] T.J. Biggerstaff, B.G. Mitbander, and D.E. Webster, Program Understanding and Concept Assignment Problem Comm. ACM, vol. 37, no. 5, pp. 72-83, May 1994.
[5] S. Chandra, P. Godefroid, and C. Palm, Software Model Checking in Practice: An Industrial Case Study Proc. Int'l Conf. Software Eng., pp. 431-441, 2002.
[6] X.P. Chen, W.T. Tsai, H. Huang, M. Poonawala, S. Rayadurgam, and Y. Wang, Omega An Integrated Environment for C++ Program Maintenance Proc. Int'l Conf. Software Maintenance, pp. 114-123, 1996.
[7] E.M. Clarke, O. Grumberg, and D.A. Peled, Model Checking. MIT Press, 1999.
[8] K.H. Davis and P.H. Aiken, Data Reverse Engineering: A Historical Survey Proc. Working Conf. Reverse Eng., pp. 70-78, 2000.
[9] T. Dean and Y.L. Chen, Design Recovery of a Two Level System Proc. Int'l Workshop Program Comprehension, pp. 23-32, 2003.
[10] Y.B. Deng and S. Kothari, Recovering Conceptual Roles of Data in a Program Proc. Int'l Conf. Software Maintenance, pp. 342-350, 2002.
[11] S.M. Embury and J. Shao, Assisting the Comprehension of Legacy Transactions Proc. Working Conf. Reverse Eng., pp. 345-354, 2001.
[12] J. Ferrante, K.J. Ottenstein, and J.O. Warren, The Program Dependence Graph and Its Use in Optimisation ACM Trans. Programming Languages and Systems, vol. 9, no. 3, pp. 319-349, July 1987.
[13] C.C. Gannod and B.H.C. Cheng, A Framework for Classifying and Comparing Software Reverse Engineering and Design Recovery Techniques Proc. Working Conf. Reverse Eng., pp. 77-88, 1999.
[14] H. Garcia-Molina and K. Salem, Sagas Proc. 1987 SIGMOD Int'l Conf. Management of Data, pp. 249-259, May 1987.
[15] F.J. Gravetter and L.B. Wallnau, Statistics for the Behavioral Sciences. Belmont, Calif.: Wadsworth, 2000.
[16] P.W.P.J. Grefen and P.M.G. Apers, Integrity Control in Relational Database Systems An Overview J. Data and Knowledge Eng., vol. 10, no. 2, pp. 187-223, 1993.
[17] H.R. Hartson and P.D. Gray, Temporal Aspects of Tasks in the User Action Notation Human-Computer Interaction, vol. 7, pp. 1-45, 1992.
[18] H. Huang, W.T. Tsai, S. Bhattacharya, X.P. Chen, Y. Wang, and J. Sun, Business Rule Extraction from Legacy Code Proc. COMPSAC, pp. 162-167, 1996.
[19] J.K. Joiner, W.T. Tsai, and X. P. Chen, "Data-Centered Program Understanding," Proc. Int'l Conf. Software Maintenance,Victoria, Canada, pp. 272-281, 1994.
[20] T. Lengauer and R.E. Tarjan, A Fast Algorithm for Finding Dominators in a Flowgraph ACM Trans. Programming Languages and Systems, vol. 1, no. 1, pp. 121-141, July 1979.
[21] B.A. Kitchenham, S.L. Pfleeger, L.M. Pickard, P.W. Jones, D.C. Hoaglin, K. El-Emam, and J. Rosenberg, Preliminary Guidelines for Empirical Research in Software Engineering IEEE Trans. Software Eng., vol. 28, no. 8, pp. 721-734, Aug. 2002.
[22] W. Kozaczynski, J. Ning, and A. Engberts, "Program Concept Recognition and Transformation," IEEE Trans. Software Eng., vol. 18, no. 12, pp. 1,065-1,075, Dec. 1992.
[23] J. Krinke, Identifying Similar Code with Program Dependency Graphs Proc. Working Conf. Reverse Eng., pp. 301-309, 2001.
[24] T.J. McCabe, A Complexity Measure IEEE Trans. Software Eng., vol. 2, no. 4, pp. 308-320, Dec. 1976.
[25] J.A. Poole, Method to Determine a Basis Set of Paths to Perform Program Testing http://hissa.ncsl.nist.gov/publications nistir5737 , 1995.
[26] C.V. Ramamoorthy, K.H. Kim, and W.T. Chen, Optimal Placement of Software Monitors Aiding Systematic Testing IEEE Trans. Software Eng., vol. 1, no. 4, pp. 403-410, Dec. 1975.
[27] K. Sartipi and K. Kontogiannis, A Graph Pattern Matching Approach to Software Architecture Recovery Proc. Int'l Conf. Software Maintenance, pp. 408-418, 2001.
[28] H.B.K. Tan, T.W. Ling, and C.H. Goh, Exploring into Programs for the Recovery of Data Dependencies Designed IEEE Trans. Knowledge and Data Eng., vol. 14, no. 4, pp. 825-835, July/Aug. 2002.
[29] J.D. Ullman, Principles of Database Systems. second ed. Rockville, Md: Computer Science Press, 1982.
[30] W. Visser, K. Havelund, G. Brat, and S. Park, Model Checking Programs Proc. 15th Int'l Conf. Automated Software Eng., 2000.
[31] K. Wong, Research Challenges in Reverse Engineering Community Proc. Int'l Workshop Program Comprehension, pp. 323-323, 2001.
[32] P. Wright, B. Fields, and M. Harrison, Deriving Human-Error Tolerance Requirements from Tasks Proc. Int'l Conf. Requirements Eng., pp. 135-142, 1994.

Index Terms:
Reverse engineering, feature recovery, software verification, database transaction, posttransaction user-input error handling, static program analysis, probable properties.
Citation:
Hee Beng Kuan Tan, Ni Lar Thein, "Recovery of PTUIE Handling from Source Codes through Recognizing Its Probable Properties," IEEE Transactions on Knowledge and Data Engineering, vol. 16, no. 10, pp. 1217-1231, Oct. 2004, doi:10.1109/TKDE.2004.62
Usage of this product signifies your acceptance of the Terms of Use.