Formal modelling of list based dynamic memory allocators

被引:4
作者
Fang, Bin [1 ,2 ,3 ]
Sighireanu, Mihaela [2 ,3 ]
Pu, Geguang [1 ]
Su, Wen [4 ]
Abrial, Jean-Raymond
Yang, Mengfei [5 ]
Qiao, Lei [5 ]
机构
[1] East China Normal Univ, Shanghai Key Lab Trustworthy Comp, Shanghai 200062, Peoples R China
[2] Univ Paris Diderot, IRIF, F-75013 Paris, France
[3] CNRS, F-75013 Paris, France
[4] Shanghai Univ, Sch Comp Engn & Sci, Shanghai 200062, Peoples R China
[5] Beijing Inst Control Engn, Beijing 100036, Peoples R China
关键词
dynamic memory allocators; formal methods; refinement; Event-B; Rodin; model-based design;
D O I
10.1007/s11432-017-9280-9
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Existing implementations of dynamic memory allocators (DMA) employ a large spectrum of policies and techniques. The formal specifications of these techniques are quite complicated in isolation and very complex when combined. Therefore, the formal reasoning on a specific DMA implementation is difficult for automatic tools and mostly single-use. This paper proposes a solution to this problem by providing formal models for a full class of DMA, the class using various kinds of lists to manage the memory blocks controlled by the DMA. To obtain reusable formal models and tractable formal reasoning, we organise these models in a hierarchy ranked by refinement relations. We prove the soundness of models and the refinement relations using the modeling framework Event-B and the theorem prover Rodin. We demonstrate that our hierarchy is a basis for an algorithm theory for list based DMA: it abstracts various existing implementations of DMA and leads to new DMA implementations. The applications of this formalisation include model-based code generation, testing, and static analysis.
引用
收藏
页数:16
相关论文
共 27 条
[1]   Rodin: An open toolset for modelling and reasoning in Event-B [J].
Abrial J.-R. ;
Butler M. ;
Hallerstede S. ;
Hoang T.S. ;
Mehta F. ;
Voisin L. .
International Journal on Software Tools for Technology Transfer, 2010, 12 (06) :447-466
[2]  
Adams C, 2011, PALGR MAC STUD BANK, P234
[3]  
Aldridge L, 2008, EMBED SYST DES, V21, P35
[4]  
[Anonymous], 2010, Modeling in Event-B: system and software engineering
[5]  
Brian W.Kernighan Dennis M. Ritchie., 1988, C PROGRAMMING LANGUA, V2nd
[6]  
Calcagno C, 2006, LECT NOTES COMPUT SC, V4134, P182
[7]   Automated verification of shape, size and bag properties via user-defined predicates in separation logic [J].
Chin, Wei-Ngan ;
David, Cristina ;
Huu Hai Nguyen ;
Qin, Shengchao .
SCIENCE OF COMPUTER PROGRAMMING, 2012, 77 (09) :1006-1036
[8]  
Donald K., 1973, ART COMPUTER PROGRAM
[9]  
Doug L, 2012, DLMALLOC
[10]  
Fang B., 2016, P INT S LOG BAS PROG, P151