Abstract
Traditional information-flow analysis is mainly based on dataflow and control-flow analysis. In object-oriented program, because of pointer aliasing, inheritance, and polymorphism, information-flow analysis become very complicated. Especially, it is difficult to rely only on normal data and control-flow analysis techniques. some new approaches are required to analyze the information-flow between components in object-oriented program. In this paper, object-oriented program slicing technique is introduced. By this technique, the amount of information-flow, the width of information-flow and correlation coefficient between components can be computed. Some applications of the information-flow are also discussed and analyzed in this paper.
- M. Harman, Margaret Okunlawon, Bala Sivagurunathan and Sebastian Danicic. Slice-Based Measurement of Coupling, IEEE/ACM ICSE workshop on Process Modelling and Empirical Studies of Software Evolution (PMESSE'97), Boston, Massachusetts, 17 - 23 May 1997, pp. 26-32.Google Scholar
- S. Horwitz, T. Reps and D. Binkley. Interprocedural Slicing Using Dependence Graphs, ACM Transactions on Programming Languages and Systems, 12(1), January 1990, pp. 26-60. Google ScholarDigital Library
- L. D. Larsen and M.J. Harrold. Slicing Object-Oriented Software, Proceedings of 18th International Conference on Software Engineering, 1996, pp. 495-505. Google ScholarDigital Library
- B. Li. Program slicing techniques and its application in object-oriented software metrics and software test, Ph.D thesis, Nanjing University, P.R. China, Dec., 2000.Google Scholar
- B. Li, X. Fan. JATO: Slicing Java program hierarchically, TUCS Technical Reports No.416, Turku Centre for Computer Science, Turku, Finland, July 2001.Google Scholar
- H.D. Longworth. Slice-based program metrics, Master's thesis. MTU, Department of Computer Science, 1985.Google Scholar
- B. A. Malloy, J. D. McGregor, A. Krishnaswamy, and M. Medikonda. An Extensible Program Representation for Object-Oriented Software, ACM SIGPLAN Notices, vol. 29(12), 1994, pp. 38-47. Google ScholarDigital Library
- L. M. Ott. Using slice profiles and metrics during software maintenance, Proc. 10th Annual Software Reliability Symp, June 1992, pp. 16-23.Google Scholar
- K.J. Ottenstein and L.M. Ottenstein. The Program Dependence Graph in a Software Development Environment, Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, 1984, pp. 177-184. Google ScholarDigital Library
- G. Rothermel and M. J. Harrold Selecting Regressin Tests for Object-Oriented Software, Second ACM Conference on Foundations of Software Engineerings, December 1994, pp. 11-20.Google Scholar
- F. Tip. A Survey of Program Slicing Techniques, Technical Report CS-R9438, Centrum voor Wiskunde en Informatica (CWI), Amsterdam, The Netherlands, 1994. Google ScholarDigital Library
- M. Weiser. Program slicing, 5th International Conference on Software Engineering, IEEE Press, 1982, pp. 439-449. Google ScholarDigital Library
- M. Weiser. Program slicing, IEEE Transactions on Software Engineering, 10(4), July 1984, pp. 352-357.Google ScholarDigital Library
- J. Zhao, J. Cheng, and K. Ushijima Static Slicing of Concurrent Object-Oriented Programs, COMPSAC'96, IEEE Press, 1996, pp. 312-320. Google ScholarDigital Library
Index Terms
- Analyzing information-flow in java program based on slicing technique
Recommendations
Program Slicing with Dynamic Points-To Sets
Program slicing is a potentially useful analysis for aiding program understanding. However, in reality even slices of small programs are often too large to be useful. Imprecise pointer analyses have been suggested as one cause of this problem. In this ...
Data-flow analysis of program fragments
Traditional interprocedural data-flow analysis is performed on whole programs; however, such whole-program analysis is not feasible for large or incomplete programs. We propose fragment data-flow analysis as an alternative approach which computes data-...
Scalable flow-sensitive pointer analysis for java with strong updates
ECOOP'12: Proceedings of the 26th European conference on Object-Oriented ProgrammingThe ability to perform strong updates is the main contributor to the precision of flow-sensitive pointer analysis algorithms. Traditional flow-sensitive pointer analyses cannot strongly update pointers residing in the heap. This is a severe restriction ...
Comments