BR112015015790A2 - tipos de objeto imutáveis - Google Patents
tipos de objeto imutáveisInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/436—Semantic checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/436—Semantic checking
- G06F8/437—Type checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements 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.
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)
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)
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 |
-
2013
- 2013-01-04 US US13/734,750 patent/US9098269B2/en active Active
-
2014
- 2014-01-03 KR KR1020157021105A patent/KR102100531B1/ko active IP Right Grant
- 2014-01-03 RU RU2015126784A patent/RU2666237C2/ru active
- 2014-01-03 WO PCT/US2014/010112 patent/WO2014107539A1/en active Application Filing
- 2014-01-03 JP JP2015551764A patent/JP6255420B2/ja active Active
- 2014-01-03 EP EP14702314.7A patent/EP2941699A1/en not_active Ceased
- 2014-01-03 BR BR112015015790A patent/BR112015015790A2/pt not_active Application Discontinuation
- 2014-01-03 CA CA2896593A patent/CA2896593C/en active Active
- 2014-01-03 AU AU2014204049A patent/AU2014204049B2/en not_active Ceased
- 2014-01-03 CN CN201480003944.2A patent/CN105144098B/zh active Active
- 2014-01-03 MX MX2015008715A patent/MX2015008715A/es unknown
-
2015
- 2015-06-25 US US14/750,416 patent/US9740460B2/en active Active
-
2019
- 2019-02-05 AU AU2019200748A patent/AU2019200748B2/en active Active
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] |