Patent
1995-01-17
1997-12-16
Beausoliel, Jr., Robert W.
G06F 1100
Patent
active
056995075
ABSTRACT:
A method of analyzing a plurality of code segments to determine the similar static and dynamic features of the code segments compares the static and dynamic features of each of the code segments. Each code segment is comprised of one or more lines of program instructions. One or more predetermined static attributes are extracted from each code segment. Each code segment is then run so that the dynamic attributes of the code segment can be determined. The dynamic attributes are extracted from each code segment and a distance function is computed which is based on the extracted static and dynamic attributes for a given pair of code segments. The distance function produces a distance measurement which indicates the relative degree of similarity between the given pair of code segments.
REFERENCES:
patent: 4853851 (1989-08-01), Horsch
patent: 5132972 (1992-07-01), Hansen
patent: 5291497 (1994-03-01), Ulrich et al.
patent: 5335342 (1994-08-01), Pope et al.
patent: 5408642 (1995-04-01), Mann
patent: 5423027 (1995-06-01), Jackson
patent: 5440723 (1995-08-01), Arnold et al.
patent: 5522036 (1996-05-01), Shapiro
Carver et al., "State Analysis of ConcurrentSoftware for Deriving Synchronization Constraints", IEEE, pp. 544-551, 1991.
Kunu et al., "A Scalable, Visual Interface for Debugging With Event-Based Behavorial Abstraction", IEEE, pp.472-479, Sep. 1995.
Helfman "Similarity Patterns in Language", IEEE, pp.173-175, Sep. 1994.
Anger et al, "Combining Static and Dynamic Analysis of Concurrent Programs" Software Maintenance, 1994 Conf. IEEE Pub. pp.89-98.
Canfora et al, "Extracting Abstract Data Types From C Programs: A Case Study" Software Maintenance, 1993 Conf. IEEE Pub. pp. 200-209.
R. Gopal et al. "Using Automatic Program Decomposition Techniques in Software Maintenance Tools" Proceedings Of The Conference On Software Maintenance, pp. 132-141 XP000120465 (1989).
M. T. Harandi et al. "Knowledge-Based Program Analysis," IEEE Software, vol. 7, No. 1, pp. 74-81, (1990).
Kellner, M. I., "Non-Traditional Perspective on Software Maintenance," 1989 IEEE Conference on Software Maintenance, pp. 220-221, IEEE Computer Society Press, Washington (Oct. 1989).
Glass, R. L., "Position Paper: Software Maintenance is a Solution, Not a Problem," 1989 IEEE Conference on Software Maintenance, pp. 224-225, IEEE Computer Society Press, Washington, (Oct. 1989).
McFarland, M. C. and Kowalski, T. J., "Incorporating Bottom-Up Design into Hardware Synthesis," IEEE Transactions on Computer-Aided Design 9(9), pp. 938-950 (Sep. 1990).
Johnson, S. C., "Hierarchical Clustering Schemes," Psychometrika 31(3), pp. 241-254 (Sep. 1967).
Caldiera, G., "Searching Existing Programs for Reusable Components," 1989 IEEE Conference on Software Maintenance, pp. 222-223, IEEE Computer Society Press, Washington (Oct. 1989).
Steffen, J. L., "Interactive Examination of a C Program with Cscope," USENIX Winter Conference Proceedings, pp. 170-175, USENIX Association, Dallas (Jan. 1985).
Chen, Y. F. and Ramamoorthy, C. V., The C Information Abstractor Proceedings of the Tenth International Computer Software and Applications Conference (Oct. 1986).
Harandi, M. T. and Ning, J. Q., "Knowledge-Based Program Analysis," IEEE Software, pp. 74-81 (Jan. 1990).
Rich, C. and Wills, L. M., "Recognizing a Program's Design: A Graph-Parsing Approach," IEEE Software, pp. 82-89 (Jan. 1990).
Colbrook, A. and Smythe, C., "The Retrospective Introduction of Abstraction into Software," 1989 IEEE Conference on Software Maintenance, pp. 166-174, IEEE Computer Society Press, Washington (Oct. 1989).
Hausler, P. A., Pleszkoch, M. G., Linger, R. C. and Hevner, A. R., "Using Function Abstraction to Understand Program Behavior," IEEE Software, pp. 55-63 (Jan. 1990).
Benedusi, P., Cimitile, A., and DeGarlini, U., "A Reverse Engineering Methodology to Reconstruct Hierarchical Data Flow Diagrams for Software Maintenance," 1989 IEEE Conference on Software Maintenance, pp. 180-189, IEEE Computer Society Press, Washington (Oct. 1989).
Choi, S. C. and Scacchi, W., "Extracting and Restructuring the Design of Larch Systems," IEEE Software, pp. 66-71 (Jan. 1990).
Ricketts, J. A., DelMonaco, J. C. and Weeks, M. W., "Data Reengineering for Application Systems," 1989 IEEE Conference on Software Maintenance, pp. 174-179, IEEE Computer Society Press, Washington (Oct. 1989).
Yang, W., Horwitz, S., and Reps, T., "Detecting Program Components with Equivalent Behaviors," TR-840, Computer Sciences Dept., Univ. of Wisconsin, Madison (Apr. 1989).
Kowalski, T. J., Seaquist, Goguen, H. H., Ellis, B. and Puttress, J. J., Castillo, C. M., Rowland, J. R., Rath, C. A., Wilson, J. M., and Vesonder, G. T. and Schmidt, J. L., "The AT&T C and C++ Programming Environment: An Integrated Reflective Toolkit," Proceedings of the International Workshop on UNIX-Based Software Development Environments, USENIX, Dallas, TX (Jan. 16, 1991).
M. C. McFarland, T. J. Kowalski, "Incorporating Bottom-Up Design into Hardware Synthesis", IEEE Transactions on Computer-Aided Design, vol. 9, No. 9, Sep. 1990.
Goodnow, II James E.
Helfman Jonathan Isaac
Kowalski Thaddeus Julius
Puttress John J.
Rowland James R.
Beausoliel, Jr. Robert W.
Conover Michele L.
Lucent Technologies - Inc.
Palys Joseph E.
Verlangieri Patricia A.
LandOfFree
Method of identifying similarities in code segments does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method of identifying similarities in code segments, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method of identifying similarities in code segments will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-216107