JP6255420B2 - 不変オブジェクトタイプ - Google Patents

不変オブジェクトタイプ Download PDF

Info

Publication number
JP6255420B2
JP6255420B2 JP2015551764A JP2015551764A JP6255420B2 JP 6255420 B2 JP6255420 B2 JP 6255420B2 JP 2015551764 A JP2015551764 A JP 2015551764A JP 2015551764 A JP2015551764 A JP 2015551764A JP 6255420 B2 JP6255420 B2 JP 6255420B2
Authority
JP
Japan
Prior art keywords
computer
instance
immutable
object type
executable instructions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2015551764A
Other languages
English (en)
Japanese (ja)
Other versions
JP2016502219A (ja
JP2016502219A5 (enExample
Inventor
ジェイ. ダフィー,ジョン
ジェイ. ダフィー,ジョン
ポーター パーソンズ,ジェアード
ポーター パーソンズ,ジェアード
シンズ,マイケル
ダニエル ブロムフィールド,アレクサンダー
ダニエル ブロムフィールド,アレクサンダー
ジェイ. クワリナ,クシシュトフ
ジェイ. クワリナ,クシシュトフ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp, Microsoft Technology Licensing LLC filed Critical Microsoft Corp
Publication of JP2016502219A publication Critical patent/JP2016502219A/ja
Publication of JP2016502219A5 publication Critical patent/JP2016502219A5/ja
Application granted granted Critical
Publication of JP6255420B2 publication Critical patent/JP6255420B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/436Semantic checking
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/436Semantic checking
    • G06F8/437Type checking
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)
  • Storage Device Security (AREA)
JP2015551764A 2013-01-04 2014-01-03 不変オブジェクトタイプ Expired - Fee Related JP6255420B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/734,750 US9098269B2 (en) 2013-01-04 2013-01-04 System and method to ensure resource access safety with immutable object types
US13/734,750 2013-01-04
PCT/US2014/010112 WO2014107539A1 (en) 2013-01-04 2014-01-03 Immutable object types

Publications (3)

Publication Number Publication Date
JP2016502219A JP2016502219A (ja) 2016-01-21
JP2016502219A5 JP2016502219A5 (enExample) 2017-01-26
JP6255420B2 true JP6255420B2 (ja) 2017-12-27

Family

ID=50031532

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015551764A Expired - Fee Related JP6255420B2 (ja) 2013-01-04 2014-01-03 不変オブジェクトタイプ

Country Status (11)

Country Link
US (2) US9098269B2 (enExample)
EP (1) EP2941699A1 (enExample)
JP (1) JP6255420B2 (enExample)
KR (1) KR102100531B1 (enExample)
CN (1) CN105144098B (enExample)
AU (2) AU2014204049B2 (enExample)
BR (1) BR112015015790A2 (enExample)
CA (1) CA2896593C (enExample)
MX (1) MX2015008715A (enExample)
RU (1) RU2666237C2 (enExample)
WO (1) WO2014107539A1 (enExample)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9098269B2 (en) * 2013-01-04 2015-08-04 Microsoft Technology Licensing, Llc System and method to ensure resource access safety with immutable object types
US10990425B2 (en) * 2019-05-08 2021-04-27 Morgan Stanley Services Group Inc. Simulated change of immutable objects during execution runtime
US11580199B2 (en) * 2019-09-20 2023-02-14 International Business Machines Corporation Correspondence of external operations to containers and mutation events
US11748129B2 (en) 2020-10-15 2023-09-05 Morgan Stanley Services Group Inc. Simulated change of immutable objects during execution runtime
US12111957B2 (en) 2021-06-08 2024-10-08 Microsoft Technology Licensing, Llc Software provenance validation
US11914580B2 (en) 2021-09-30 2024-02-27 Salesforce, Inc. Mechanisms for deploying database clusters
US12079515B2 (en) 2022-01-20 2024-09-03 Pure Storage, Inc. Immutable nodes in a container system
US12386556B2 (en) 2022-01-20 2025-08-12 Pure Storage, Inc. Using data volumes to store container images
US12019522B2 (en) 2022-01-20 2024-06-25 Pure Storage, Inc. Container recovery layer prioritization
US12236103B2 (en) 2022-01-20 2025-02-25 Pure Storage, Inc. Storage system based monitoring and remediation for containers
US12147313B2 (en) 2022-01-20 2024-11-19 Pure Storage, Inc. Container recovery using volumes comprising container images
US12321449B2 (en) 2022-01-20 2025-06-03 Pure Storage, Inc. Storage system based threat detection and remediation for containers
US12175135B2 (en) 2022-01-20 2024-12-24 Pure Storage, Inc. Containers as volumes in a container-aware storage system

Family Cites Families (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5590332A (en) 1995-01-13 1996-12-31 Baker; Henry G. Garbage collection, tail recursion and first-class continuations in stack-oriented languages
US5701458A (en) 1995-09-20 1997-12-23 International Business Machines Corporation System and method for managing arbitrary subsets of access control lists in a computer network
US6009269A (en) * 1997-03-10 1999-12-28 Digital Equipment Corporation Detecting concurrency errors in multi-threaded programs
US6092156A (en) * 1997-11-05 2000-07-18 Unisys Corporation System and method for avoiding deadlocks utilizing split lock operations to provide exclusive access to memory during non-atomic operations
US6510460B1 (en) 1997-12-18 2003-01-21 Sun Microsystems, Inc. Method and apparatus for enforcing locking invariants in multi-threaded systems
US6182277B1 (en) * 1998-04-15 2001-01-30 Oracle Corporation Methods and apparatus for declarative programming techniques in an object oriented environment
US6542891B1 (en) * 1999-01-29 2003-04-01 International Business Machines Corporation Safe strength reduction for Java synchronized procedures
US6438560B1 (en) * 1999-09-16 2002-08-20 International Business Machines Corporation Reuse of immutable objects during object creation
US6681385B1 (en) 1999-10-07 2004-01-20 Microsoft Corporation Method and apparatus for determining the relationships and useful lifetime of objects in a program
US6675378B1 (en) 2000-01-06 2004-01-06 International Business Machines Corporation Object oriented apparatus and method for allocating array objects on an invocation stack
US6925638B1 (en) * 2000-09-21 2005-08-02 International Business Machines Corporation Mutability analysis in Java
US6598141B1 (en) 2001-03-08 2003-07-22 Microsoft Corporation Manipulating interior pointers on a stack during garbage collection
US7058943B2 (en) 2001-05-24 2006-06-06 International Business Machines Corporation Object oriented apparatus and method for allocating objects on an invocation stack in a partial compilation environment
EP1308845A1 (en) 2001-10-23 2003-05-07 Sun Microsystems, Inc. Method and apparatus for scoped memory
US7096456B2 (en) 2001-11-30 2006-08-22 Microsoft Corporation Method and apparatus for providing dynamically scoped variables within a statically scoped computer programming language
JP2003167737A (ja) 2001-11-30 2003-06-13 Nec Corp スタック使用方法
CA2408457A1 (en) 2002-10-17 2004-04-17 Ibm Canada Limited-Ibm Canada Limitee Collection and detection of differences of values of expressions/variables when debugging a computer process
US7603664B2 (en) * 2002-10-22 2009-10-13 Sun Microsystems, Inc. System and method for marking software code
RU2412475C2 (ru) * 2003-08-21 2011-02-20 Майкрософт Корпорейшн Системы и способы расширений и наследования для блоков информации, управляемых системой аппаратно-программного интерфейса
US7511718B2 (en) * 2003-10-23 2009-03-31 Microsoft Corporation Media integration layer
US7219340B2 (en) * 2003-10-23 2007-05-15 Microsoft Corporation Changeable class and pattern to provide selective mutability in computer programming environments
US7774376B1 (en) 2004-07-30 2010-08-10 Microsoft Corporation Type-system extensions for object-oriented language based on coercive subtyping with restrictions
US7669226B2 (en) * 2004-07-30 2010-02-23 International Business Machines Corporation Generic declarative authorization scheme for Java
US7912863B1 (en) 2004-07-30 2011-03-22 Microsoft Corporation Compositional lifting of operations over structural types
EP1784725A1 (en) 2004-08-03 2007-05-16 Softricity, Inc. System and method for controlling inter-application association through contextual policy control
US7730450B2 (en) * 2004-08-12 2010-06-01 National Instruments Corporation Automatic versioning and data mutation of user-defined data types
KR100577366B1 (ko) 2004-09-25 2006-05-10 삼성전자주식회사 이종의 자바 메소드를 실행하는 방법 및 장치
US20060242104A1 (en) * 2005-04-21 2006-10-26 Microsoft Corporation Systems and methods for manipulating data in a data storage system
US20070056042A1 (en) 2005-09-08 2007-03-08 Bahman Qawami Mobile memory system for secure storage and delivery of media content
CN101046755B (zh) 2006-03-28 2011-06-15 郭明南 一种计算机自动内存管理的系统及方法
GB0608406D0 (en) 2006-04-28 2006-06-07 Ibm Creating references in a scoped memory system
US8245031B2 (en) 2006-07-07 2012-08-14 Sandisk Technologies Inc. Content control method using certificate revocation lists
US7739466B2 (en) * 2006-08-11 2010-06-15 Intel Corporation Method and apparatus for supporting immutable memory
US8132093B2 (en) 2006-08-14 2012-03-06 Microsoft Corporation Instance annotation in object-oriented programming
US8527946B2 (en) * 2007-03-06 2013-09-03 International Business Machines Corporation Declarative object identity using relation types
US20080244516A1 (en) 2007-03-26 2008-10-02 Microsoft Corporation Variable capture in object oriented languages
TW200841173A (en) 2007-04-12 2008-10-16 Arcadyan Technology Corp Tracking method for embedded system
US9785549B2 (en) 2007-04-27 2017-10-10 Microsoft Technology Licensing, Llc Managing object lifetime for native/managed peers
US8281293B2 (en) * 2007-07-24 2012-10-02 International Business Machines Corporation Copy-on-write optimization of immutable objects for objects oriented languages
US8141063B2 (en) 2007-08-30 2012-03-20 International Business Machines Corporation Static analysis of reachable methods and fields in object-oriented applications using object instantiation
US8122068B2 (en) 2007-09-25 2012-02-21 International Business Machines Corporation Memory management using garbage collection of objects in child scoped memory areas
US8438612B2 (en) 2007-11-06 2013-05-07 Varonis Systems Inc. Visualization of access permission status
JP2009129127A (ja) * 2007-11-22 2009-06-11 Fujitsu Ltd プログラムの不変物抽出処理プログラム,処理装置,および処理方法,ならびに該プログラムを記憶する記憶媒体
US8347266B2 (en) * 2007-12-10 2013-01-01 Microsoft Corporation Declarative object identity
EP2274676A1 (en) 2008-01-31 2011-01-19 Oracle International Corporation System and method for transactional cache
US9026993B2 (en) 2008-06-27 2015-05-05 Microsoft Technology Licensing, Llc Immutable types in imperitive language
US8762969B2 (en) * 2008-08-07 2014-06-24 Microsoft Corporation Immutable parsing
US8095731B2 (en) 2008-11-06 2012-01-10 Oracle International Corporation Mutable object caching
US8676847B2 (en) 2009-04-07 2014-03-18 International Business Machines Corporation Visibility control of resources
US8495329B2 (en) 2009-04-13 2013-07-23 Microsoft Corporation Type system support for memory isolation permissions
US9569282B2 (en) 2009-04-24 2017-02-14 Microsoft Technology Licensing, Llc Concurrent mutation of isolated object graphs
US8473900B2 (en) * 2009-07-01 2013-06-25 Advanced Micro Devices, Inc. Combining classes referenced by immutable classes into a single synthetic class
US8555259B2 (en) 2009-12-04 2013-10-08 International Business Machines Corporation Verifying function performance based on predefined count ranges
JP5724343B2 (ja) * 2009-12-25 2015-05-27 リコーイメージング株式会社 一眼レフカメラのミラーブレーキ機構
US8566544B2 (en) 2009-12-29 2013-10-22 Microsoft Corporation Compiler-enforced agent access restriction
US9424010B2 (en) 2010-08-30 2016-08-23 International Business Machines Corporation Extraction of functional semantics and isolated dataflow from imperative object oriented languages
US8533695B2 (en) 2010-09-28 2013-09-10 Microsoft Corporation Compile-time bounds checking for user-defined types
US8533413B2 (en) * 2010-12-03 2013-09-10 Sap Ag Content modification control using read-only type definitions
US8589951B2 (en) * 2011-01-07 2013-11-19 International Business Machines Corporation Conserving memory by using objects that are selectably mutable during runtime
US8826229B2 (en) * 2011-06-02 2014-09-02 The Mathworks, Inc. Immutable properties in a class
US9684600B2 (en) 2011-11-30 2017-06-20 International Business Machines Corporation Dynamic process/object scoped memory affinity adjuster
US9971578B2 (en) 2012-10-15 2018-05-15 Microsoft Technology Licensing, Llc Reference attribute annotation signifying no external reference
US20140196015A1 (en) 2013-01-04 2014-07-10 Microsoft Corporation Declaration of lifetime of resource reference
US9229959B2 (en) 2013-01-04 2016-01-05 Microsoft Technology Licensing, Llc Object graph partial immutability and isolation enforcement
US9098269B2 (en) * 2013-01-04 2015-08-04 Microsoft Technology Licensing, Llc System and method to ensure resource access safety with immutable object types

Also Published As

Publication number Publication date
KR102100531B1 (ko) 2020-04-13
US9098269B2 (en) 2015-08-04
CN105144098B (zh) 2018-11-13
AU2014204049B2 (en) 2018-11-15
US20140196008A1 (en) 2014-07-10
US20150324175A1 (en) 2015-11-12
AU2019200748B2 (en) 2020-02-27
WO2014107539A1 (en) 2014-07-10
RU2015126784A (ru) 2017-01-13
JP2016502219A (ja) 2016-01-21
MX2015008715A (es) 2016-03-09
CA2896593C (en) 2020-09-08
US9740460B2 (en) 2017-08-22
CA2896593A1 (en) 2014-07-10
BR112015015790A2 (pt) 2017-07-11
KR20150104156A (ko) 2015-09-14
AU2019200748A1 (en) 2019-02-21
RU2666237C2 (ru) 2018-09-06
AU2014204049A1 (en) 2015-07-16
EP2941699A1 (en) 2015-11-11
CN105144098A (zh) 2015-12-09

Similar Documents

Publication Publication Date Title
JP6255420B2 (ja) 不変オブジェクトタイプ
KR102093531B1 (ko) 외부 참조를 나타내지 않는 참조 속성 어노테이션
TW201820131A (zh) 進程管理方法及裝置
CN114830099B (zh) 集成引用和次对象的标记
CN108319858A (zh) 针对不安全函数的数据依赖图构建方法及装置
US8813258B2 (en) Selectively exposing base class libraries based on application execution context
US10819752B2 (en) Systems and methods for quantitative assessment of a computer defense technique
EP2941702B1 (en) Object graph partial immutability and isolation enforcement
US20140196015A1 (en) Declaration of lifetime of resource reference
TWI898655B (zh) 軟體開發裝置、軟體開發程式和軟體開發方法

Legal Events

Date Code Title Description
A529 Written submission of copy of amendment under article 34 pct

Free format text: JAPANESE INTERMEDIATE CODE: A529

Effective date: 20150820

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161205

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161205

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171204

R150 Certificate of patent or registration of utility model

Ref document number: 6255420

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees