@article {14731,
	title = {Safe manual memory management in Cyclone},
	journal = {Science of Computer Programming},
	volume = {62},
	year = {2006},
	month = {2006/10/01/},
	pages = {122 - 144},
	abstract = {The goal of the Cyclone project is to investigate how to make a low-level C-like language safe. Our most difficult challenge has been providing programmers with control over memory management while retaining safety. This paper describes our experience trying to integrate and use effectively two previously-proposed, safe memory-management mechanisms: statically-scoped regions and tracked pointers. We found that these typing mechanisms can be combined to build alternative memory-management abstractions, such as reference counted objects and arenas with dynamic lifetimes, and thus provide a flexible basis. Our experience {\textemdash} porting C programs and device drivers, and building new applications for resource-constrained systems {\textemdash} confirms that experts can use these features to improve memory footprint and sometimes to improve throughput when used instead of, or in combination with, conservative garbage collection.},
	keywords = {cyclone, Memory management, memory safety, Reaps, Reference counting, regions, unique pointers},
	isbn = {0167-6423},
	doi = {10.1016/j.scico.2006.02.003},
	url = {http://www.sciencedirect.com/science/article/pii/S0167642306000785},
	author = {Swamy,Nikhil and Hicks, Michael W. and Morrisett,Greg and Grossman,Dan and Jim,Trevor}
}
@conference {14694,
	title = {Experience with safe manual memory-management in cyclone},
	booktitle = {Proceedings of the 4th international symposium on Memory management},
	series = {ISMM {\textquoteright}04},
	year = {2004},
	month = {2004///},
	pages = {73 - 84},
	publisher = {ACM},
	organization = {ACM},
	address = {New York, NY, USA},
	abstract = {The goal of the Cyclone project is to investigate type safety for low-level languages such as C. Our most difficult challenge has been providing programmers control over memory management while retaining type safety. This paper reports on our experience trying to integrate and effectively use two previously proposed, type-safe memory management mechanisms: statically-scoped regions and unique pointers. We found that these typing mechanisms can be combined to build alternative memory-management abstractions, such as reference counted objects and arenas with dynamic lifetimes, and thus provide a flexible basis. Our experience---porting C programs and building new applications for resource-constrained systems---confirms that experts can use these features to improve memory footprint and sometimes to improve throughput when used instead of, or in combination with, conservative garbage collection.},
	keywords = {cyclone, Memory management, memory safety, regions, unique pointers},
	isbn = {1-58113-945-4},
	doi = {10.1145/1029873.1029883},
	url = {http://doi.acm.org/10.1145/1029873.1029883},
	author = {Hicks, Michael W. and Morrisett,Greg and Grossman,Dan and Jim,Trevor}
}
