{"id":"https://openalex.org/W2003018393","doi":"https://doi.org/10.1002/(sici)1097-024x(199809)28:11<1143::aid-spe194>3.0.co;2-7","title":"A customisable memory management framework for C++","display_name":"A customisable memory management framework for C++","publication_year":1998,"publication_date":"1998-09-01","ids":{"openalex":"https://openalex.org/W2003018393","doi":"https://doi.org/10.1002/(sici)1097-024x(199809)28:11<1143::aid-spe194>3.0.co;2-7","mag":"2003018393"},"language":"en","primary_location":{"id":"doi:10.1002/(sici)1097-024x(199809)28:11<1143::aid-spe194>3.0.co;2-7","is_oa":false,"landing_page_url":"https://doi.org/10.1002/(sici)1097-024x(199809)28:11<1143::aid-spe194>3.0.co;2-7","pdf_url":null,"source":{"id":"https://openalex.org/S122199241","display_name":"Software Practice and Experience","issn_l":"0038-0644","issn":["0038-0644","1097-024X"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320595","host_organization_name":"Wiley","host_organization_lineage":["https://openalex.org/P4310320595"],"host_organization_lineage_names":["Wiley"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Software: Practice and Experience","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5061536209","display_name":"Giuseppe Attardi","orcid":"https://orcid.org/0000-0003-3875-6404"},"institutions":[{"id":"https://openalex.org/I108290504","display_name":"University of Pisa","ror":"https://ror.org/03ad39j10","country_code":"IT","type":"education","lineage":["https://openalex.org/I108290504"]}],"countries":["IT"],"is_corresponding":true,"raw_author_name":"Giuseppe Attardi","raw_affiliation_strings":["Dipartimento di Informatica, Universita\u0300 di Pisa, Corso Italia 40, I-56125 Pisa, Italy","Dipartimento di Informatica, Universit\u00e0 di Pisa, Corso Italia 40, I-56125 Pisa, Italy"],"affiliations":[{"raw_affiliation_string":"Dipartimento di Informatica, Universita\u0300 di Pisa, Corso Italia 40, I-56125 Pisa, Italy","institution_ids":["https://openalex.org/I108290504"]},{"raw_affiliation_string":"Dipartimento di Informatica, Universit\u00e0 di Pisa, Corso Italia 40, I-56125 Pisa, Italy","institution_ids":["https://openalex.org/I108290504"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5049837162","display_name":"Tito Flagella","orcid":null},"institutions":[{"id":"https://openalex.org/I108290504","display_name":"University of Pisa","ror":"https://ror.org/03ad39j10","country_code":"IT","type":"education","lineage":["https://openalex.org/I108290504"]}],"countries":["IT"],"is_corresponding":false,"raw_author_name":"Tito Flagella","raw_affiliation_strings":["Dipartimento di Informatica, Universita\u0300 di Pisa, Corso Italia 40, I-56125 Pisa, Italy","Dipartimento di Informatica, Universit\u00e0 di Pisa, Corso Italia 40, I-56125 Pisa, Italy"],"affiliations":[{"raw_affiliation_string":"Dipartimento di Informatica, Universita\u0300 di Pisa, Corso Italia 40, I-56125 Pisa, Italy","institution_ids":["https://openalex.org/I108290504"]},{"raw_affiliation_string":"Dipartimento di Informatica, Universit\u00e0 di Pisa, Corso Italia 40, I-56125 Pisa, Italy","institution_ids":["https://openalex.org/I108290504"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5069888121","display_name":"Pietro Iglio","orcid":null},"institutions":[{"id":"https://openalex.org/I108290504","display_name":"University of Pisa","ror":"https://ror.org/03ad39j10","country_code":"IT","type":"education","lineage":["https://openalex.org/I108290504"]}],"countries":["IT"],"is_corresponding":false,"raw_author_name":"Pietro Iglio","raw_affiliation_strings":["Dipartimento di Informatica, Universita\u0300 di Pisa, Corso Italia 40, I-56125 Pisa, Italy","Dipartimento di Informatica, Universit\u00e0 di Pisa, Corso Italia 40, I-56125 Pisa, Italy"],"affiliations":[{"raw_affiliation_string":"Dipartimento di Informatica, Universita\u0300 di Pisa, Corso Italia 40, I-56125 Pisa, Italy","institution_ids":["https://openalex.org/I108290504"]},{"raw_affiliation_string":"Dipartimento di Informatica, Universit\u00e0 di Pisa, Corso Italia 40, I-56125 Pisa, Italy","institution_ids":["https://openalex.org/I108290504"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5061536209"],"corresponding_institution_ids":["https://openalex.org/I108290504"],"apc_list":{"value":4220,"currency":"USD","value_usd":4220},"apc_paid":null,"fwci":1.4781,"has_fulltext":false,"cited_by_count":22,"citation_normalized_percentile":{"value":0.8264483,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":94},"biblio":{"volume":"28","issue":"11","first_page":"1143","last_page":"1184"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9990000128746033,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9990000128746033,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9972000122070312,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10933","display_name":"Real-Time Systems Scheduling","score":0.9940000176429749,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/garbage-collection","display_name":"Garbage collection","score":0.9022954702377319},{"id":"https://openalex.org/keywords/manual-memory-management","display_name":"Manual memory management","score":0.8363450765609741},{"id":"https://openalex.org/keywords/heap","display_name":"Heap (data structure)","score":0.7911507487297058},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7851371169090271},{"id":"https://openalex.org/keywords/memory-leak","display_name":"Memory leak","score":0.6260625720024109},{"id":"https://openalex.org/keywords/garbage","display_name":"Garbage","score":0.5944921374320984},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5523602366447449},{"id":"https://openalex.org/keywords/copying","display_name":"Copying","score":0.4997260570526123},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.46289458870887756},{"id":"https://openalex.org/keywords/c-dynamic-memory-allocation","display_name":"C dynamic memory allocation","score":0.4606916904449463},{"id":"https://openalex.org/keywords/memory-management","display_name":"Memory management","score":0.44276660680770874},{"id":"https://openalex.org/keywords/class","display_name":"Class (philosophy)","score":0.4269981384277344},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.41909852623939514},{"id":"https://openalex.org/keywords/database","display_name":"Database","score":0.3588705062866211},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.31867459416389465},{"id":"https://openalex.org/keywords/overlay","display_name":"Overlay","score":0.27031898498535156},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.1479445993900299}],"concepts":[{"id":"https://openalex.org/C105122174","wikidata":"https://www.wikidata.org/wiki/Q322202","display_name":"Garbage collection","level":3,"score":0.9022954702377319},{"id":"https://openalex.org/C82810778","wikidata":"https://www.wikidata.org/wiki/Q6752316","display_name":"Manual memory management","level":4,"score":0.8363450765609741},{"id":"https://openalex.org/C134757568","wikidata":"https://www.wikidata.org/wiki/Q274089","display_name":"Heap (data structure)","level":2,"score":0.7911507487297058},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7851371169090271},{"id":"https://openalex.org/C156731835","wikidata":"https://www.wikidata.org/wiki/Q751740","display_name":"Memory leak","level":4,"score":0.6260625720024109},{"id":"https://openalex.org/C75403996","wikidata":"https://www.wikidata.org/wiki/Q5521979","display_name":"Garbage","level":2,"score":0.5944921374320984},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5523602366447449},{"id":"https://openalex.org/C2779151265","wikidata":"https://www.wikidata.org/wiki/Q1156791","display_name":"Copying","level":2,"score":0.4997260570526123},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.46289458870887756},{"id":"https://openalex.org/C34339311","wikidata":"https://www.wikidata.org/wiki/Q1050390","display_name":"C dynamic memory allocation","level":4,"score":0.4606916904449463},{"id":"https://openalex.org/C176649486","wikidata":"https://www.wikidata.org/wiki/Q2308807","display_name":"Memory management","level":3,"score":0.44276660680770874},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.4269981384277344},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.41909852623939514},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.3588705062866211},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.31867459416389465},{"id":"https://openalex.org/C136085584","wikidata":"https://www.wikidata.org/wiki/Q910289","display_name":"Overlay","level":2,"score":0.27031898498535156},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.1479445993900299},{"id":"https://openalex.org/C17744445","wikidata":"https://www.wikidata.org/wiki/Q36442","display_name":"Political science","level":0,"score":0.0},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.0},{"id":"https://openalex.org/C199539241","wikidata":"https://www.wikidata.org/wiki/Q7748","display_name":"Law","level":1,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1002/(sici)1097-024x(199809)28:11<1143::aid-spe194>3.0.co;2-7","is_oa":false,"landing_page_url":"https://doi.org/10.1002/(sici)1097-024x(199809)28:11<1143::aid-spe194>3.0.co;2-7","pdf_url":null,"source":{"id":"https://openalex.org/S122199241","display_name":"Software Practice and Experience","issn_l":"0038-0644","issn":["0038-0644","1097-024X"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320595","host_organization_name":"Wiley","host_organization_lineage":["https://openalex.org/P4310320595"],"host_organization_lineage_names":["Wiley"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Software: Practice and Experience","raw_type":"journal-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.57.4744","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.57.4744","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"ftp://ftp.di.unipi.it/pub/Papers/attardi/SPE.ps.gz","raw_type":"text"},{"id":"pmh:oai:arpi.unipi.it:11568/48274","is_oa":false,"landing_page_url":"http://hdl.handle.net/11568/48274","pdf_url":null,"source":{"id":"https://openalex.org/S4377196265","display_name":"CINECA IRIS Institutial research information system (University of Pisa)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I108290504","host_organization_name":"University of Pisa","host_organization_lineage":["https://openalex.org/I108290504"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"info:eu-repo/semantics/article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":["https://openalex.org/W2142383914","https://openalex.org/W3022395790","https://openalex.org/W2005118838","https://openalex.org/W3005855803","https://openalex.org/W2182829270","https://openalex.org/W2013466772","https://openalex.org/W43532704","https://openalex.org/W1513015403","https://openalex.org/W2165739771","https://openalex.org/W3032380018"],"abstract_inverted_index":{"Automatic":[0],"garbage":[1,20,155,207],"collection":[2,21,112],"relieves":[3],"programmers":[4],"from":[5],"the":[6,69,72,79,86,101,108,114,150,165,177,188,195,220,223,229,244],"burden":[7],"of":[8,55,71,85,103,110,132,152,164,176,206,243],"managing":[9],"memory":[10,56,93,123,161],"themselves":[11],"and":[12,137,160,192,248],"several":[13],"techniques":[14,226],"have":[15],"been":[16],"developed":[17],"that":[18,58],"make":[19],"feasible":[22],"in":[23,113,124,213,219,228,256],"many":[24],"situations,":[25],"including":[26],"real":[27],"time":[28],"applications":[29],"or":[30,222],"within":[31],"traditional":[32,203],"programming":[33],"languages.":[34,240],"However,":[35],"optimal":[36],"performance":[37,159,242],"cannot":[38],"always":[39],"be":[40,60,98,235],"achieved":[41,168],"by":[42,172],"a":[43,52,91,139],"uniform":[44],"general":[45,73,232],"purpose":[46,74],"solution.":[47],"Sometimes":[48],"an":[49,104,130],"algorithm":[50,82],"exhibits":[51],"predictable":[53],"pattern":[54],"usage":[57],"could":[59],"better":[61],"handled":[62],"specifically,":[63],"delaying":[64],"as":[65,67,198,200],"much":[66],"possible":[68],"intervention":[70],"collector.":[75],"This":[76],"leads":[77],"to":[78,100,187,234,238,250],"requirement":[80],"for":[81,146,180,254],"specific":[83],"customisation":[84],"collector":[87,166,178,189],"strategies.":[88],"We":[89],"present":[90],"dynamic":[92],"management":[94],"framework":[95],"which":[96,135],"can":[97],"customised":[99],"needs":[102],"algorithm,":[105],"while":[106],"preserving":[107],"convenience":[109],"automatic":[111],"normal":[115],"case.":[116],"The":[117,143,184,209,225,241],"Customisable":[118],"Memory":[119],"Manager":[120],"(CMM)":[121],"organises":[122],"multiple":[125],"heaps.":[126],"Each":[127],"heap":[128,145,182],"is":[129,167,211,246],"instance":[131],"C++":[133,214],"class":[134],"abstracts":[136],"encapsulates":[138],"particular":[140],"storage":[141],"discipline.":[142],"default":[144],"collectable":[147],"objects":[148],"uses":[149],"technique":[151],"mostly":[153],"copying":[154],"collection,":[156],"providing":[157],"good":[158],"compaction.":[162],"Customisation":[163],"exploiting":[169],"object":[170],"orientation":[171],"defining":[173],"specialised":[174],"versions":[175],"methods":[179],"each":[181],"class.":[183],"object-oriented":[185],"interface":[186],"enables":[190],"coexistence":[191],"coordination":[193],"among":[194],"various":[196,257],"collectors":[197,253],"well":[199],"integration":[201],"with":[202],"code":[204],"unaware":[205],"collection.":[208],"CMM":[210,230,245],"implemented":[212],"without":[215],"any":[216],"special":[217],"support":[218],"language":[221],"compiler.":[224],"used":[227],"are":[231],"enough":[233],"applicable":[236],"also":[237],"other":[239,251],"analysed":[247],"compared":[249],"conservative":[252],"C/C++":[255],"configurations.":[258],"\u00a9":[259],"1998":[260],"John":[261],"Wiley":[262],"&":[263],"Sons,":[264],"Ltd.":[265]},"counts_by_year":[{"year":2014,"cited_by_count":1}],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
