Data processing: software development – installation – and managem – Software program development tool – Translation of code
Reexamination Certificate
2006-05-23
2006-05-23
Khatri, Anil (Department: 2191)
Data processing: software development, installation, and managem
Software program development tool
Translation of code
C717S132000, C717S141000
Reexamination Certificate
active
07051322
ABSTRACT:
Presently described is a decompilation method of operation and system for parsing executable code, identifying and recursively modeling data flows, identifying and recursively modeling control flow, and iteratively refining these models to provide a complete model at the nanocode level. The nanocode decompiler may be used to determine if flaws, security vulnerabilities, or general quality issues exist in the code. The nanocode decompiler outputs in a standardized, human-readable intermediate representation (IR) designed for automated or scripted analysis and reporting. Reports may take the form of a computer annotated and/or partially human annotated nanocode listing in the above-described IR. Annotations may include plain English statements regarding flaws and pointers to badly constructed data structures, unchecked buffers, malicious embedded code or “trap doors,” and the like. Annotations may be generated through a scripted analysis process or by means of an expert-enhanced, quasi-autonomous system.
REFERENCES:
patent: 4533997 (1985-08-01), Furgerson
patent: 4931928 (1990-06-01), Greenfeld
patent: 5263162 (1993-11-01), Lundeby
patent: 5432942 (1995-07-01), Trainer
patent: 5590330 (1996-12-01), Coskun et al.
patent: 5793374 (1998-08-01), Guenter et al.
patent: 5854924 (1998-12-01), Rickel et al.
patent: 5862382 (1999-01-01), Kataoka
patent: 5881290 (1999-03-01), Ansari et al.
patent: 5933635 (1999-08-01), Holzle et al.
patent: 5937190 (1999-08-01), Gregory et al.
patent: 6009256 (1999-12-01), Tseng et al.
patent: 6071317 (2000-06-01), Nagel
patent: 6125439 (2000-09-01), Tremblay et al.
patent: 6151701 (2000-11-01), Humphreys et al.
patent: 6154876 (2000-11-01), Haley et al.
patent: 6240376 (2001-05-01), Raynaud et al.
patent: 6243848 (2001-06-01), Guignet et al.
patent: 6311327 (2001-10-01), O'Brien et al.
patent: 6336087 (2002-01-01), Burgun et al.
patent: 6412106 (2002-06-01), Leask et al.
patent: 6594761 (2003-07-01), Chow et al.
patent: 6601235 (2003-07-01), Holzle et al.
patent: 6766481 (2004-07-01), Estep et al.
patent: 6779114 (2004-08-01), Chow et al.
patent: 6820256 (2004-11-01), Fleehart et al.
patent: 6928638 (2005-08-01), Parvathala et al.
patent: 6961925 (2005-11-01), Callahan et al.
patent: WO 01/86427 (2001-11-01), None
Breuer et al, “Decompilation the enumeration of types and grammers”, ACM Trans. Prog. Lnag & Sys. vol. 16, No. 5, pp. 1613-1647, 1994.
Ural et al, “Modeing software for acurate data flow representaion”, IEEE, pp. 277-286, 1993.
Dejean et al, “A definition optimization technique used in a code translation algorithm”, Comm.. of the ACM, vol. 32, No. 1, pp. 94-105, 1989.
Mittal et al, “Automatic translation of software binaries onto FPGAs”, ACM DAC, pp. 389-394, 2004.
Ahpah Software, Inc. SourceAgain PC Professional,Ahpah Software Inc. / SourceAgain PC Professionalretrieved from on Dec. 4, 2002.
Ahpah Software, Inc. SourceAgain and Java Decompilation—Updated Dec. 9, 2001.White Paper: SourceAgain and Javaon Dec. 4, 2002.
Backer Street Software. REC—Reverse Engineering Compiler.REC Decompiler Home Pageretrieved from on Dec. 3, 2002.
Blume, W.J. Symbolic Analysis Techniques for Effective Automatic Parallelization.University of Illinois at Urbana-Champaign(1995).
Blume, W. & Eigenmann, R. Demand-driven, Symbolic Range Propagation.University of Illinois at Urbana-Champaign,1-15 (1995).
Breuer, P.T. and Bowen, J.P. (1992d).Generating Decompilers,Draft, Oxford University Computing Laboratory. Submitted for publication.
Business Wire. The Kemel Group Unveils Java Support for AutoTrace; Serviceability Solution Expands Capabilities; Provides Java Support and Key Features that Extend its Power and Flexibility. (Jun. 4, 2001).
Choi, J.-D. & Ferrante, J. Static Slicing in the Presence of GOTO Statements.IBM T.J. Watson Research Center.
Cifuentes, C. Reverse Compilation Techniques.Queensland University of Technology(Jul. 1994).
Cifuentes, C. An Environment for the Reverse Engineering of Executable Programs.Proceedings of the Asia-Pacific Software Engineering Conference(APSEC). IEEE Computer Society Press. Brisbane, Australia. Dec. 1995, pp. 410-419.
Cifuentes, C. Partial Automation of an Integrated Reverse Engineering Environment of Binary Code.Proceedings Third Working Conference on Reverse Engineering.Monterey, CA, (Nov. 8-10, 1996) IEEE-CS Press. pp. 50-56.
Cifuentes, C. & Fraboulet, A. Intraprocedural Static Slicing of Binary Executables.University of Queensland, Dept. Comp. Sci., Centre for Software Maintenance.
Cifuentes, C. & Gough, K.J. Decompilation of Binary Programs.Software—Practice&Experience.vol. 25, 811-829 (Jul. 1995).
Cifuentes, C. & Sendall, S. Specifying the Semantics of Machine Instructions.University of Queensland, Dept. Comp. Sci.&Elec. Eng.Technical Report 442 (Dec. 1997).
Cifuentes, C. & Simon, D. Procedural Abstraction Recovery from Binary Code.University of Queensland, Dept. Comp. Sci.&Elec. Eng.Technical Report 448 (Sep. 1999).
Cifuentes, C. & Van Emmerik, M. Recovery of Jump Table Case Statements from Binary Code.University of Queensland, Dept. Comp. Sci.&Elec. Eng.Technical Report 444 (Dec. 1998).
Cifuentes, C. et al. Assembly to High-Level Language Translation.University of Queensland, Brisbane, Australia, Dept. of Comp. Sci.&Elec. Eng.Technical Report 439, (Aug. 1993).
Cifuentes, C. et al.,University of Queensland, Dept. Comp. Sci.&Elec. Eng.& Ramsey, N.,University of Virginia, Dept. Comp. Sci.The Design of a Resourceable and Retargetable Binary Translator.
Cytron, R. et al. Efficiently Computing Static Single Assignment From and the Control Dependence Graph.IBM Research Division(Mar. 7, 1991).
Duesterwald, E. et al. A Practical Framework for Demand-Driven Interprocedural Data Flow Analysis.ACM Transactions on Programming Language and Systems19, 992-1030 (Nov. 1997).
Dyer, D. Java decompilers compared ; Our detailed examples of how 3 top decompilers handle an extensive test suite will help you determine which, if any, meet your needs.JavaWorld(Jul. 1997).
Gough, J.,Queensland University of Technology& Klaeren, H.,University of Tubingen.Eliminating Range Checks using Static Single Assignment Form. (Dec. 19, 1994).
Gupta, R.,University of Pittsburgh.Optimizing Array Bound Checks Using Flow Analysis.ACM SIGPLAN Conference on Programming Language Design and Implementation,White Plains, N.Y. Preliminary version (1995).
Harrold, M.J. & Soffa, M.L. Efficient Computation of Interprocedural Definition-Use Chains.ACM Transactions on Programming Language and Systems16, 175-204 (Mar. 1994).
Hollingum, J. Arithmetic robot modules control robotic production.Industrial Robot22, 32-35 (1995).
Liang, D. & Harrold, M.J. Light-Weight Context Recovery for Efficient and Accurate Program Analyses.Proceedings of the 22ndInternational Conference on Software Engineering1-10 (Jun. 2000).
Liang, D. & Harrold, M.J. Efficient Computation of Parameterized Pointer Information for Interprocedural Analyses.Georgia Institute of TechnologyTech Report GIT-CC-00-35, 1-17 (Dec. 2000).
MacUser. Programming & systems; Software Review; software for the Apple Macintosh computer, Evaluation. vol. 8, 237 (Jan. 1993).
Mycroft, A. Type-Based Decompilation.Cambridge University, Computer Laboratory.
Orso, A. et al. Effects of Pointers on Data Dependences.Georgia Institute of Technology, College of ComputingTechnical Report GIT-CC-00-33, 1-17 (Dec. 2000).
Patterson, J.R.C. Accurate Static Branch Prediction by Value Range Propagation.Proc. ACM SIGPLAN Conference on Programming Language and Design ImplementationLa Jolla, San Diego, 67-78 (Jun. 1995).
Pingali, K. & Bilardi, G. Optimal Control Dependence Computation and the Roman Chariots Problem.ACM Transactions on Programming Languages and Systems.19, 1-30 (May 1997).
Reilly, D. Decompilers—friend of foe?Java Coffee Breakupdated Jun. 2, 2001 retrieved from.
Sagiv, M. et al. Precise Interprocedure Dataflow Analysis with Application
@Stake, Inc.
Khatri Anil
Kudirka & Jobse LLP
LandOfFree
Software analysis framework does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Software analysis framework, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Software analysis framework will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3557682