BR112015015790A2 - tipos de objeto imutáveis - Google Patents

tipos de objeto imutáveis

Info

Publication number
BR112015015790A2
BR112015015790A2 BR112015015790A BR112015015790A BR112015015790A2 BR 112015015790 A2 BR112015015790 A2 BR 112015015790A2 BR 112015015790 A BR112015015790 A BR 112015015790A BR 112015015790 A BR112015015790 A BR 112015015790A BR 112015015790 A2 BR112015015790 A2 BR 112015015790A2
Authority
BR
Brazil
Prior art keywords
immutable
type
instance
instances
treated
Prior art date
Application number
BR112015015790A
Other languages
English (en)
Inventor
Daniel Bromfield Alexander
Porter Parsons Jared
J Duffy John
J Cwalina Krzysztof
Sinz Michael
Original Assignee
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 Technology Licensing Llc filed Critical Microsoft Technology Licensing Llc
Publication of BR112015015790A2 publication Critical patent/BR112015015790A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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)

Abstract

resumo patente de invenção: "tipos de objeto imutáveis". a presente invenção refere-se a uma extensão de linguagem que avança a segurança em programação de sistema pelo fato de que um tipo inteiro pode ser declarado imutável, no caso em que todas as instâncias daquele tipo são imutáveis. a declaração do tipo imutável faz automaticamente com que quaisquer instâncias daquele tipo sejam tratadas como imutáveis, e faz com que automaticamente todos os membros alcançáveis direta ou indiretamente (por exemplo, campos, métodos, propriedades) da instância também sejam tratados como imutáveis. adicionalmente, qualquer referência de tempo de construção que permite a atribuição de campo da instância não é permitida a sobreviver além do ponto no qual a instância se torna acessível ao criador da mesma. consequentemente, essa instância, e qualquer outra instância daquele mesmo tipo, será imutável a partir daquele tempo de construção. a capacidade de classificar todas as tais instâncias como imutáveis é benéfico, à medida que a característica imutável permite ações que não seriam permitidas normalmente devido à segurança de acesso de recurso.
BR112015015790A 2013-01-04 2014-01-03 tipos de objeto imutáveis BR112015015790A2 (pt)

Applications Claiming Priority (2)

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
PCT/US2014/010112 WO2014107539A1 (en) 2013-01-04 2014-01-03 Immutable object types

Publications (1)

Publication Number Publication Date
BR112015015790A2 true BR112015015790A2 (pt) 2017-07-11

Family

ID=50031532

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112015015790A BR112015015790A2 (pt) 2013-01-04 2014-01-03 tipos de objeto imutáveis

Country Status (11)

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

Families Citing this family (5)

* 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
US11914580B2 (en) 2021-09-30 2024-02-27 Salesforce, Inc. Mechanisms for deploying database clusters

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
US20030097537A1 (en) 2001-10-23 2003-05-22 Sun Microsystems, Inc. Method and apparatus for scoped memory
JP2003167737A (ja) 2001-11-30 2003-06-13 Nec Corp スタック使用方法
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
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 Майкрософт Корпорейшн Системы и способы расширений и наследования для блоков информации, управляемых системой аппаратно-программного интерфейса
US7219340B2 (en) * 2003-10-23 2007-05-15 Microsoft Corporation Changeable class and pattern to provide selective mutability in computer programming environments
US7511718B2 (en) * 2003-10-23 2009-03-31 Microsoft Corporation Media integration layer
US7912863B1 (en) 2004-07-30 2011-03-22 Microsoft Corporation Compositional lifting of operations over structural types
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
JP5021475B2 (ja) 2004-08-03 2012-09-05 マイクロソフト コーポレーション コンテキストポリシー制御によるアプリケーション間の関連付けの制御のためのシステムおよび方法
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
AU2019200748B2 (en) 2020-02-27
KR20150104156A (ko) 2015-09-14
EP2941699A1 (en) 2015-11-11
US20140196008A1 (en) 2014-07-10
RU2015126784A (ru) 2017-01-13
AU2019200748A1 (en) 2019-02-21
CA2896593A1 (en) 2014-07-10
KR102100531B1 (ko) 2020-04-13
AU2014204049A1 (en) 2015-07-16
US9098269B2 (en) 2015-08-04
WO2014107539A1 (en) 2014-07-10
US9740460B2 (en) 2017-08-22
AU2014204049B2 (en) 2018-11-15
JP6255420B2 (ja) 2017-12-27
JP2016502219A (ja) 2016-01-21
RU2666237C2 (ru) 2018-09-06
CN105144098A (zh) 2015-12-09
CA2896593C (en) 2020-09-08
CN105144098B (zh) 2018-11-13
MX2015008715A (es) 2016-03-09
US20150324175A1 (en) 2015-11-12

Similar Documents

Publication Publication Date Title
BR112015015790A2 (pt) tipos de objeto imutáveis
BR112018068341A2 (pt) 6-hidróxi-4-oxo-1,4-di-hidropirimidina-5-carboxamidas como agonistas de apj
BR112017003658A2 (pt) composto, mistura, métodos para tratamento de uma doença e para inibição de uma glicosidase, e, composição farmacêutica.
BR112015028879A2 (pt) derivados heterocíclicos
BR112021022758A2 (pt) Compostos de 1-oxo-isoindolina-5-carboxamida substituídos, suas composições e métodos de tratamento com os mesmos
CO2017013065A2 (es) Moduladores de diaciglicerol aciltransferasa 2 (dgat2)
BR112016021216A2 (pt) instrução de fim de transação condicional
BR112018006080A2 (pt) novos compostos bicíclicos como inibidores de dupla ação de atx/ca
BR112018006034A2 (pt) compostos bicíclicos como inibidores de atx
EA201890858A1 (ru) 2,4-дигидроксиникотинамиды как агонисты apj
BR112015032341A2 (pt) conservação de composições para cuidados pessoais
BR112015022788A2 (pt) sistema de determinação de emoção de contexto
BR112014016633A2 (pt) estruturas fibrosas com múltiplas regiões contendo agente ativo
BR112015027951A2 (pt) arilquinazolinas
BR112018077075A2 (pt) heterociclos de biarilmetila
EA201690406A1 (ru) Селективные ингибиторы grp94 и способы их применения
BR112015016585A2 (pt) Compostos radiofarmacêuticos baseados em triazina, complexos de metal e composição farmacêutica compreendendo os referidos complexos
BR112017012834A2 (pt) formatação de fibras de queratina usando arabinose e carbonato de etileno
EA201591918A1 (ru) Производные тамоксифена для лечения новообразований, особенно с высоким уровнем белка her2
MX357050B (es) Control de acceso de tiempo de ejecucion a interfases de programacion de aplicacion.
BR112015022618A2 (pt) processo para a preparação de ácido levulínico
BR112016007757A8 (pt) Derivados antibacterianos de 2h-indazol
BR112015003894A2 (pt) materiais revestidos com bioflavonoide
BR112017003637A2 (pt) pesquisa com várias fontes
BR112019024653A2 (pt) sinalização de alto nível para dados de vídeo fisheye

Legal Events

Date Code Title Description
B15K Others concerning applications: alteration of classification

Ipc: G06F 9/00 (2018.01)

B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09B Patent application refused [chapter 9.2 patent gazette]