{"id":"https://openalex.org/W2052890401","doi":"https://doi.org/10.1002/spe.4380240703","title":"Algorithm\u2010oriented generic libraries","display_name":"Algorithm\u2010oriented generic libraries","publication_year":1994,"publication_date":"1994-07-01","ids":{"openalex":"https://openalex.org/W2052890401","doi":"https://doi.org/10.1002/spe.4380240703","mag":"2052890401"},"language":"en","primary_location":{"id":"doi:10.1002/spe.4380240703","is_oa":false,"landing_page_url":"https://doi.org/10.1002/spe.4380240703","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/A5046039594","display_name":"David R. Musser","orcid":null},"institutions":[{"id":"https://openalex.org/I165799507","display_name":"Rensselaer Polytechnic Institute","ror":"https://ror.org/01rtyzb94","country_code":"US","type":"education","lineage":["https://openalex.org/I165799507"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"David R. Musser","raw_affiliation_strings":["Rensselaer Polytechnic Institute, Computer Science Department, Troy, New York 12180, U.S.A"],"affiliations":[{"raw_affiliation_string":"Rensselaer Polytechnic Institute, Computer Science Department, Troy, New York 12180, U.S.A","institution_ids":["https://openalex.org/I165799507"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5032603490","display_name":"Alexander A. Stepanov","orcid":"https://orcid.org/0000-0002-9113-9440"},"institutions":[{"id":"https://openalex.org/I1324840837","display_name":"Hewlett-Packard (United States)","ror":"https://ror.org/059rn9488","country_code":"US","type":"company","lineage":["https://openalex.org/I1324840837"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Alexander A. Stepanov","raw_affiliation_strings":["Hewlett-Packard Laboratories, Software Technology Laboratory, 1501 Page Mill Road, Palo Alto, California 94303, U.S.A","Hewlett\u2010Packard Laboratories, Software Technology Laboratory, 1501 Page Mill Road, Palo Alto, California 94303, U.S.A"],"affiliations":[{"raw_affiliation_string":"Hewlett-Packard Laboratories, Software Technology Laboratory, 1501 Page Mill Road, Palo Alto, California 94303, U.S.A","institution_ids":["https://openalex.org/I1324840837"]},{"raw_affiliation_string":"Hewlett\u2010Packard Laboratories, Software Technology Laboratory, 1501 Page Mill Road, Palo Alto, California 94303, U.S.A","institution_ids":["https://openalex.org/I1324840837"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5046039594"],"corresponding_institution_ids":["https://openalex.org/I165799507"],"apc_list":{"value":4220,"currency":"USD","value_usd":4220},"apc_paid":null,"fwci":8.4726,"has_fulltext":false,"cited_by_count":102,"citation_normalized_percentile":{"value":0.97682477,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":"24","issue":"7","first_page":"623","last_page":"642"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"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"}},"topics":[{"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/T10260","display_name":"Software Engineering Research","score":0.9876999855041504,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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/T10142","display_name":"Formal Methods in Verification","score":0.9539999961853027,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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/computer-science","display_name":"Computer science","score":0.8579592704772949},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.7113339900970459},{"id":"https://openalex.org/keywords/construct","display_name":"Construct (python library)","score":0.658353328704834},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6218423247337341},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.58380526304245},{"id":"https://openalex.org/keywords/compile-time","display_name":"Compile time","score":0.5059930682182312},{"id":"https://openalex.org/keywords/generic-programming","display_name":"Generic programming","score":0.45965662598609924},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.45815765857696533},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.4039730131626129},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.38725078105926514}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8579592704772949},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.7113339900970459},{"id":"https://openalex.org/C2780801425","wikidata":"https://www.wikidata.org/wiki/Q5164392","display_name":"Construct (python library)","level":2,"score":0.658353328704834},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6218423247337341},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.58380526304245},{"id":"https://openalex.org/C200833197","wikidata":"https://www.wikidata.org/wiki/Q333707","display_name":"Compile time","level":3,"score":0.5059930682182312},{"id":"https://openalex.org/C7051814","wikidata":"https://www.wikidata.org/wiki/Q1051282","display_name":"Generic programming","level":2,"score":0.45965662598609924},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.45815765857696533},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4039730131626129},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.38725078105926514}],"mesh":[],"locations_count":5,"locations":[{"id":"doi:10.1002/spe.4380240703","is_oa":false,"landing_page_url":"https://doi.org/10.1002/spe.4380240703","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.15.499","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.15.499","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.ubc.ca/local/reading/proceedings/spe91-95/spe/./vol24/issue7/spe900.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.432.4023","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.432.4023","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.hpl.hp.com/techreports/94/HPL-94-13.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.49.6200","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.49.6200","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"ftp://ftp.cs.rpi.edu/pub/stl/algor.ps.Z","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.92.1558","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.92.1558","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.stepanovpapers.com/algor.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":13,"referenced_works":["https://openalex.org/W6489764","https://openalex.org/W1579278367","https://openalex.org/W2040046786","https://openalex.org/W2052890401","https://openalex.org/W2067159831","https://openalex.org/W2100673699","https://openalex.org/W2326587081","https://openalex.org/W2497200650","https://openalex.org/W2752853835","https://openalex.org/W2752885492","https://openalex.org/W2914964273","https://openalex.org/W3004939728","https://openalex.org/W3198160809"],"related_works":["https://openalex.org/W4252501555","https://openalex.org/W2003848320","https://openalex.org/W2371266106","https://openalex.org/W2117382851","https://openalex.org/W3006505070","https://openalex.org/W2382449560","https://openalex.org/W2767298477","https://openalex.org/W2110432562","https://openalex.org/W2025344","https://openalex.org/W2117864619"],"abstract_inverted_index":{"Abstract":[0],"We":[1],"outline":[2],"an":[3],"approach":[4,34],"to":[5,36,132,138],"construction":[6],"of":[7,83,125,142,148],"software":[8,24,140],"libraries":[9],"in":[10,22,28,64,99,105],"which":[11,78,91],"generic":[12,110],"algorithms":[13,38,85,111],"(algorithmic":[14],"abstractions)":[15],"play":[16],"a":[17],"more":[18],"central":[19],"role":[20],"than":[21],"conventional":[23],"library":[25],"technology":[26],"or":[27],"the":[29,53,71,75,79,84,100,117],"object\u2010oriented":[30],"programming":[31],"paradigm.":[32],"Our":[33],"is":[35,93,96,136],"consider":[37],"first,":[39],"decide":[40],"what":[41],"types":[42,54,119],"and":[43,51,55,81,120,129],"access":[44,121],"operations":[45,56],"they":[46],"need":[47],"for":[48],"efficient":[49],"execution,":[50],"regard":[52],"as":[57,68,70],"formal":[58],"parameters":[59,73],"that":[60,115],"can":[61],"be":[62],"instantiated":[63],"many":[65],"different":[66],"ways,":[67],"long":[69],"actual":[72],"satisfy":[74],"assumptions":[76],"on":[77],"correctness":[80],"efficiency":[82],"are":[86],"based.":[87],"The":[88],"means":[89],"by":[90,112],"instantiation":[92],"carried":[94],"out":[95],"language":[97],"dependent;":[98],"C":[101],"+":[102,103],"examples":[104],"this":[106],"paper,":[107],"we":[108],"instantiate":[109],"constructing":[113],"classes":[114],"define":[116],"needed":[118],"operations.":[122],"By":[123],"use":[124],"such":[126],"compile\u2010time":[127],"techniques":[128],"careful":[130],"attention":[131],"algorithmic":[133],"issues,":[134],"it":[135],"possible":[137],"construct":[139],"components":[141],"broad":[143],"utility":[144],"with":[145],"no":[146],"sacrifice":[147],"efficiency.":[149]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":1},{"year":2012,"cited_by_count":3}],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
