{"id":"https://openalex.org/W2070356752","doi":"https://doi.org/10.1002/spe.4380190805","title":"A simple technique for automatic recompilation in modular programming languages","display_name":"A simple technique for automatic recompilation in modular programming languages","publication_year":1989,"publication_date":"1989-08-01","ids":{"openalex":"https://openalex.org/W2070356752","doi":"https://doi.org/10.1002/spe.4380190805","mag":"2070356752"},"language":"en","primary_location":{"id":"doi:10.1002/spe.4380190805","is_oa":false,"landing_page_url":"https://doi.org/10.1002/spe.4380190805","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/A5051046470","display_name":"Ronald A. Olsson","orcid":"https://orcid.org/0000-0003-0725-5180"},"institutions":[{"id":"https://openalex.org/I84218800","display_name":"University of California, Davis","ror":"https://ror.org/05rrcem69","country_code":"US","type":"education","lineage":["https://openalex.org/I84218800"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Ronald A. Olsson","raw_affiliation_strings":["Division of Computer Science, University of California, Davis, CA 95616, U.S.A","University of California, Davis, CA,#TAB#"],"affiliations":[{"raw_affiliation_string":"Division of Computer Science, University of California, Davis, CA 95616, U.S.A","institution_ids":[]},{"raw_affiliation_string":"University of California, Davis, CA,#TAB#","institution_ids":["https://openalex.org/I84218800"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5060332590","display_name":"Gregory R. Whitehead","orcid":null},"institutions":[{"id":"https://openalex.org/I84218800","display_name":"University of California, Davis","ror":"https://ror.org/05rrcem69","country_code":"US","type":"education","lineage":["https://openalex.org/I84218800"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Gregory R. Whitehead","raw_affiliation_strings":["Division of Computer Science, University of California, Davis, CA 95616, U.S.A","University of California, Davis, CA,#TAB#"],"affiliations":[{"raw_affiliation_string":"Division of Computer Science, University of California, Davis, CA 95616, U.S.A","institution_ids":[]},{"raw_affiliation_string":"University of California, Davis, CA,#TAB#","institution_ids":["https://openalex.org/I84218800"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5051046470"],"corresponding_institution_ids":["https://openalex.org/I84218800"],"apc_list":{"value":4220,"currency":"USD","value_usd":4220},"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":4,"citation_normalized_percentile":{"value":0.16209858,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"19","issue":"8","first_page":"757","last_page":"773"},"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.9997000098228455,"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.9997000098228455,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9950000047683716,"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/T10260","display_name":"Software Engineering Research","score":0.9950000047683716,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8395389318466187},{"id":"https://openalex.org/keywords/modular-design","display_name":"Modular design","score":0.8295767307281494},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.8017476201057434},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.792022705078125},{"id":"https://openalex.org/keywords/simple","display_name":"Simple (philosophy)","score":0.721128523349762},{"id":"https://openalex.org/keywords/compile-time","display_name":"Compile time","score":0.5138440728187561},{"id":"https://openalex.org/keywords/modularity","display_name":"Modularity (biology)","score":0.46254298090934753}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8395389318466187},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.8295767307281494},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.8017476201057434},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.792022705078125},{"id":"https://openalex.org/C2780586882","wikidata":"https://www.wikidata.org/wiki/Q7520643","display_name":"Simple (philosophy)","level":2,"score":0.721128523349762},{"id":"https://openalex.org/C200833197","wikidata":"https://www.wikidata.org/wiki/Q333707","display_name":"Compile time","level":3,"score":0.5138440728187561},{"id":"https://openalex.org/C2779478453","wikidata":"https://www.wikidata.org/wiki/Q6889748","display_name":"Modularity (biology)","level":2,"score":0.46254298090934753},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0},{"id":"https://openalex.org/C54355233","wikidata":"https://www.wikidata.org/wiki/Q7162","display_name":"Genetics","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1002/spe.4380190805","is_oa":false,"landing_page_url":"https://doi.org/10.1002/spe.4380190805","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"}],"best_oa_location":null,"sustainable_development_goals":[{"score":0.4699999988079071,"id":"https://metadata.un.org/sdg/4","display_name":"Quality Education"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":20,"referenced_works":["https://openalex.org/W37287056","https://openalex.org/W187408191","https://openalex.org/W1655990431","https://openalex.org/W1988494037","https://openalex.org/W1995384620","https://openalex.org/W2015301146","https://openalex.org/W2027781435","https://openalex.org/W2078545092","https://openalex.org/W2084090130","https://openalex.org/W2089234927","https://openalex.org/W2097148687","https://openalex.org/W2116936037","https://openalex.org/W2132671844","https://openalex.org/W2134779822","https://openalex.org/W2148238464","https://openalex.org/W2294979290","https://openalex.org/W2478500381","https://openalex.org/W3006413190","https://openalex.org/W4239704267","https://openalex.org/W4241979938"],"related_works":["https://openalex.org/W2297768894","https://openalex.org/W2378076731","https://openalex.org/W3109014690","https://openalex.org/W2371266106","https://openalex.org/W2122405502","https://openalex.org/W2114254072","https://openalex.org/W2127721729","https://openalex.org/W2884798239","https://openalex.org/W1531253727","https://openalex.org/W2366669483"],"abstract_inverted_index":{"Abstract":[0],"This":[1,33,96],"paper":[2,110],"presents":[3],"simple":[4],"techniques":[5,106,125],"that":[6,27],"can":[7,44,65,80],"be":[8,46,66,81,112,135],"used":[9],"to":[10,48,86,121],"automate":[11],"recompilation":[12,16,53],"and":[13,71,78],"avoid":[14],"unnecessary":[15,94],"in":[17,40,68,108],"modular":[18,50],"programming":[19],"languages.":[20,51],"The":[21,52,105],"basic":[22,88],"technique":[23,34,89],"generates":[24],"a":[25],"Makefile":[26],"reflects":[28],"the":[29,61,87,91,101,130],"dependencies":[30],"among":[31],"modules.":[32],"is":[35,58,99],"demonstrated":[36],"for":[37,55],"programs":[38,57],"written":[39],"SR,":[41],"although":[42],"it":[43],"easily":[45,134],"adapted":[47],"other":[49],"problem":[54],"SR":[56,75],"complicated":[59],"by":[60,72],"flexible":[62],"way":[63],"components":[64],"placed":[67],"source":[69],"files":[70],"how":[73],"an":[74,115],"module's":[76],"specification":[77],"implementation":[79],"combined.":[82],"A":[83],"small":[84,102],"modification":[85],"reduces":[90],"amount":[92],"of":[93],"compilation.":[95],"\u2018semi\u2010smart\u2019":[97],"approach":[98],"worth":[100],"extra":[103],"effort.":[104],"described":[107],"this":[109],"should":[111],"considered":[113],"as":[114],"inexpensive,":[116],"yet":[117],"reasonably":[118],"effective,":[119],"alternative":[120],"smart":[122],"recompilation.":[123],"These":[124],"are":[126],"especially":[127],"applicable":[128],"when":[129],"language's":[131],"compiler":[132],"cannot":[133],"modified.":[136]},"counts_by_year":[],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
