Remote incremental program verification using API definitions

Data processing: software development – installation – and managem – Software program development tool – Testing or debugging

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C717S131000, C717S177000, C719S328000, C719S329000, C714S001000, C714S025000, C714S048000

Reexamination Certificate

active

10661043

ABSTRACT:
A method of operating a computer system includes providing a program in memory, verifying the program prior to an installation of the program and generating a program fault signal when the verification fails. The program includes at least one program unit, and each program unit includes an Application Programming Interface (API) definition file and an implementation. Each API definition file defines items in its associated program unit that are made accessible to one or more other program units and each implementation includes executable code corresponding to the API definition file. The executable code includes type specific instructions and data. Verification includes determining whether a first program unit implementation is internally consistent, determining whether the first program unit implementation is consistent with a first program unit API definition file associated with the first program unit implementation and generating a program fault signal when the verifying fails. A resource-constrained device includes a memory for providing a remotely verified application software program that includes at least one program unit, each program unit comprising type specific instructions and data. The resource-constrained device also includes a virtual machine that is capable of executing instructions included within the application software program. The remote verification uses an API definition file for each implementation to determine whether a first program unit implementation is internally consistent and to determine whether the first program unit implementation is consistent with a first program unit API definition file associated with the first program unit implementation.

REFERENCES:
patent: 5022028 (1991-06-01), Edmonds et al.
patent: 5313616 (1994-05-01), Cline et al.
patent: 5408665 (1995-04-01), Fitzgerals
patent: 5446901 (1995-08-01), Owicki et al.
patent: 5490249 (1996-02-01), Miller
patent: 5565316 (1996-10-01), Kershaw et al.
patent: 5615137 (1997-03-01), Holzmann et al.
patent: 5652835 (1997-07-01), Miller
patent: 5668999 (1997-09-01), Gosling
patent: 5701408 (1997-12-01), Cornell et al.
patent: 5724272 (1998-03-01), Mitchell et al.
patent: 5737609 (1998-04-01), Reed et al.
patent: 5748964 (1998-05-01), Gosling
patent: 5748980 (1998-05-01), Lipe et al.
patent: 5761510 (1998-06-01), Smith, Jr. et al.
patent: 5884316 (1999-03-01), Bernstein et al.
patent: 5907704 (1999-05-01), Gudmundson et al.
patent: 5925140 (1999-07-01), Hudson
patent: 5966702 (1999-10-01), Fresko et al.
patent: 5974255 (1999-10-01), Gossain et al.
patent: 5999731 (1999-12-01), Yellin et al.
patent: 6002871 (1999-12-01), Duggan et al.
patent: 6005942 (1999-12-01), Chan et al.
patent: 6011918 (2000-01-01), Cohen et al.
patent: 6016495 (2000-01-01), McKeehan et al.
patent: 6038378 (2000-03-01), Kita et al.
patent: 6052732 (2000-04-01), Gosling
patent: 6058393 (2000-05-01), Meier et al.
patent: 6067639 (2000-05-01), Rodrigues et al.
patent: 6075940 (2000-06-01), Gosling
patent: 6092147 (2000-07-01), Levy et al.
patent: 6125442 (2000-09-01), Maves et al.
patent: 6138112 (2000-10-01), Slutz
patent: 6178504 (2001-01-01), Fieres et al.
patent: 6182158 (2001-01-01), Kougiouris et al.
patent: 6202070 (2001-03-01), Nguyen et al.
patent: 6205579 (2001-03-01), Southgate
patent: 6212633 (2001-04-01), Levy et al.
patent: 6230312 (2001-05-01), Hunt
patent: 6230318 (2001-05-01), Halstead et al.
patent: 6243859 (2001-06-01), Chen-Kuang
patent: 6247171 (2001-06-01), Yellin et al.
patent: 6262492 (2001-07-01), Sheng
patent: 6272674 (2001-08-01), Holiday, Jr.
patent: 6347398 (2002-02-01), Parthasarathy et al.
patent: 6349344 (2002-02-01), Sauntry et al.
patent: 6360334 (2002-03-01), Kavanagh et al.
patent: 6363488 (2002-03-01), Ginter et al.
patent: 6370541 (2002-04-01), Chou et al.
patent: 6370686 (2002-04-01), Delo et al.
patent: RE37722 (2002-05-01), Burnard et al.
patent: 6389467 (2002-05-01), Eyal
patent: 6405309 (2002-06-01), Cheng et al.
patent: 6418554 (2002-07-01), Delo et al.
patent: 6425118 (2002-07-01), Molloy et al.
patent: 6427227 (2002-07-01), Chamberlain
patent: 6434744 (2002-08-01), Chamberlain et al.
patent: 6466947 (2002-10-01), Arnold et al.
patent: 6477666 (2002-11-01), Sanchez et al.
patent: 6477702 (2002-11-01), Yellin et al.
patent: 6519767 (2003-02-01), Carter et al.
patent: 6526571 (2003-02-01), Aizikowitz et al.
patent: 6539539 (2003-03-01), Larsen et al.
patent: 6546551 (2003-04-01), Sweeney et al.
patent: 6549930 (2003-04-01), Chrysos et al.
patent: 6651186 (2003-11-01), Schwabe
patent: 6668289 (2003-12-01), Cheng et al.
patent: 6708324 (2004-03-01), Solloway et al.
patent: 6721941 (2004-04-01), Morshed et al.
patent: 6742177 (2004-05-01), Dorak et al.
patent: 6748555 (2004-06-01), Teegan et al.
patent: 6986101 (2006-01-01), Cooper et al.
patent: 2002/0040936 (2002-04-01), Wentker et al.
patent: 0 292 248 (1988-05-01), None
patent: 0 498 130 (1991-12-01), None
patent: 0 685 792 (1995-05-01), None
patent: 0 718 761 (1995-12-01), None
patent: 0 778 520 (1996-11-01), None
patent: 0 778 520 (1996-11-01), None
patent: 98/37526 (1998-02-01), None
patent: WO 98/19237 (1998-05-01), None
patent: WO 98/521258 (1998-05-01), None
patent: 98/43212 (1998-10-01), None
patent: WO 00/00890 (2000-01-01), None
patent: WO 00/25278 (2000-05-01), None
patent: WO 00/46666 (2000-08-01), None
patent: WO 01/14958 (2001-03-01), None
Czajkowski, Grzegorz et al., “JRes: A Resource Accounting Interface for Java”, pp. 21-35, ACM, Vancouver, B.C., 1998.
Ostroff, Jonathan S., “Automated Modular Specification and Verification of Real-Time Reactive Systems”, pp. 108-121, IEEE, 1995.
Abdulla, Parosh et al., “Verifying Programs with Unreliable Channels”, pp. 160-170, IEEE, 1993.
Zhao, Jianjun, “Applying Program Dependence Analysis To Java Software”, Department of Computer Science and Engineering, pp. 1-8.
International Preliminary Examination Report, PCT/US01/28687, International filing date Sep. 14, 2001, date Search Report mailed Jan. 5, 2004.
Suresh Subramanian, “CRUISE: Using Interface Hierarchies to Support Software Evolution”, IEEE, 1988, pp. 132-142.
International Search Report, PCT/US 01/28579, International filing date Sep. 12, 2001, date Search Report mailed- Jan. 5, 2004.
International Search Report, PCT/US 01/28688, International filing date Sep. 14, 2001, date Search report mailed- Jan. 5, 2004.
David Basin “Java Bytecode Verification by Model Checking” System Abstract, pp. 492-495 IT-Research Security (TZ/FE34).
Daniels, John et al., “Strategies For Sharing Objects In Distributed Systems”, JOOP,Object Designers Ltd., UK, pp. 27-36.
Chan, “Infrastructure of Multi-Application Smart Card”, http://home.hkstar.com/˜alanchan/papers/multiApplicationSmartCard/, Jul. 25, 2002.
Chen, Zhiqun, “Java Card™ Technology for Smart Cards”,Sun Microsystems, pp. 11-16, Jun. 2000.
Ritchey, Tim, “Advanced Topics: The Java Virtual Machine”,Java?, Chapter 14, pp. 25-346, Sep. 22, 1995.
Sun Microsystems, Inc., “Java Card™ 2.0 Language Subset and Virtual Machine Specification”, Oct. 13, 1997, Revision 1.0 Final.
Sun Microsystems, Inc., “Java Card™ 2.0 Programming Concepts”, Oct. 15, 1997, Revision 1.0 Final.
“Sun Delivers On Vision to Bring JAVA Technology to the Consumer and Embedded Market”, Business Wire, Sep. 28, 1999.
“Sun Microsystems Announces JAVACARD API”, Business Wire, Oct. 1996.
Sun Microsystems: “Sun's JAVA Technology Leads Open Worldwide Market for Smart Cards”, M2, Presswire, May 1999.
George E. Necula, et al., “Proof-Carrying Code”, Nov. 1996, pp. 1-60.
Joachim Posegga, et al., “Byte Code Verification for Java Smart Cards Based on Model Checking”, Sep. 16-18, 1998, pp. 176-190.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Remote incremental program verification using API definitions does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Remote incremental program verification using API definitions, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Remote incremental program verification using API definitions will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3877785

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.