{"id":"https://openalex.org/W3014410422","doi":"https://doi.org/10.1109/saner48275.2020.9054837","title":"Dependency Solving Is Still Hard, but We Are Getting Better at It","display_name":"Dependency Solving Is Still Hard, but We Are Getting Better at It","publication_year":2020,"publication_date":"2020-02-01","ids":{"openalex":"https://openalex.org/W3014410422","doi":"https://doi.org/10.1109/saner48275.2020.9054837","mag":"3014410422"},"language":"en","primary_location":{"id":"doi:10.1109/saner48275.2020.9054837","is_oa":false,"landing_page_url":"https://doi.org/10.1109/saner48275.2020.9054837","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2020 IEEE 27th International Conference on Software Analysis, Evolution and Reengineering (SANER)","raw_type":"proceedings-article"},"type":"conference-paper","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://arxiv.org/pdf/2011.07851","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":null,"display_name":"Pietro Abate","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Pietro Abate","raw_affiliation_strings":["Nomadic Labs, Paris, France"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Nomadic Labs, Paris, France","institution_ids":[]}]},{"author_position":"middle","author":{"id":null,"display_name":"Roberto Di Cosmo","orcid":null},"institutions":[{"id":"https://openalex.org/I204730241","display_name":"Universit\u00e9 Paris Cit\u00e9","ror":"https://ror.org/05f82e368","country_code":"FR","type":"education","lineage":["https://openalex.org/I204730241"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Roberto Di Cosmo","raw_affiliation_strings":["Inria and Universit\u00e9 de Paris, Paris, France"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Inria and Universit\u00e9 de Paris, Paris, France","institution_ids":["https://openalex.org/I204730241"]}]},{"author_position":"middle","author":{"id":null,"display_name":"Georgios Gousios","orcid":null},"institutions":[{"id":"https://openalex.org/I98358874","display_name":"Delft University of Technology","ror":"https://ror.org/02e2c7k09","country_code":"NL","type":"education","lineage":["https://openalex.org/I98358874"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Georgios Gousios","raw_affiliation_strings":["Delft Univ. of Technology, Delft, The Netherlands"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Delft Univ. of Technology, Delft, The Netherlands","institution_ids":["https://openalex.org/I98358874"]}]},{"author_position":"last","author":{"id":null,"display_name":"Stefano Zacchiroli","orcid":null},"institutions":[{"id":"https://openalex.org/I204730241","display_name":"Universit\u00e9 Paris Cit\u00e9","ror":"https://ror.org/05f82e368","country_code":"FR","type":"education","lineage":["https://openalex.org/I204730241"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Stefano Zacchiroli","raw_affiliation_strings":["Universit\u00e9 de Paris and Inria, Paris, France"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Universit\u00e9 de Paris and Inria, Paris, France","institution_ids":["https://openalex.org/I204730241"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":true,"cited_by_count":25,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"547","last_page":"551"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9973000288009644,"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"}},"topics":[{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9973000288009644,"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/T12127","display_name":"Software System Performance and Reliability","score":0.9916999936103821,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9911999702453613,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/dependency","display_name":"Dependency (UML)","score":0.9168999791145325},{"id":"https://openalex.org/keywords/component","display_name":"Component (thermodynamics)","score":0.47380000352859497},{"id":"https://openalex.org/keywords/dependency-graph","display_name":"Dependency graph","score":0.44530001282691956},{"id":"https://openalex.org/keywords/outsourcing","display_name":"Outsourcing","score":0.4449999928474426},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.41510000824928284},{"id":"https://openalex.org/keywords/upgrade","display_name":"Upgrade","score":0.3930000066757202},{"id":"https://openalex.org/keywords/rollback","display_name":"Rollback","score":0.34310001134872437}],"concepts":[{"id":"https://openalex.org/C19768560","wikidata":"https://www.wikidata.org/wiki/Q320727","display_name":"Dependency (UML)","level":2,"score":0.9168999791145325},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.699400007724762},{"id":"https://openalex.org/C168167062","wikidata":"https://www.wikidata.org/wiki/Q1117970","display_name":"Component (thermodynamics)","level":2,"score":0.47380000352859497},{"id":"https://openalex.org/C16311509","wikidata":"https://www.wikidata.org/wiki/Q4148050","display_name":"Dependency graph","level":3,"score":0.44530001282691956},{"id":"https://openalex.org/C46934059","wikidata":"https://www.wikidata.org/wiki/Q61515","display_name":"Outsourcing","level":2,"score":0.4449999928474426},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.41510000824928284},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.39800000190734863},{"id":"https://openalex.org/C2780615140","wikidata":"https://www.wikidata.org/wiki/Q920419","display_name":"Upgrade","level":2,"score":0.3930000066757202},{"id":"https://openalex.org/C174220543","wikidata":"https://www.wikidata.org/wiki/Q395307","display_name":"Rollback","level":3,"score":0.34310001134872437},{"id":"https://openalex.org/C195094911","wikidata":"https://www.wikidata.org/wiki/Q14167904","display_name":"Process management","level":1,"score":0.3391000032424927},{"id":"https://openalex.org/C44210515","wikidata":"https://www.wikidata.org/wiki/Q16968978","display_name":"Bespoke","level":2,"score":0.33340001106262207},{"id":"https://openalex.org/C26320393","wikidata":"https://www.wikidata.org/wiki/Q597053","display_name":"Functional dependency","level":3,"score":0.3292999863624573},{"id":"https://openalex.org/C13736549","wikidata":"https://www.wikidata.org/wiki/Q4489420","display_name":"Industrial engineering","level":1,"score":0.30489999055862427},{"id":"https://openalex.org/C2984074130","wikidata":"https://www.wikidata.org/wiki/Q73539779","display_name":"R package","level":2,"score":0.30219998955726624},{"id":"https://openalex.org/C112930515","wikidata":"https://www.wikidata.org/wiki/Q4389547","display_name":"Risk analysis (engineering)","level":1,"score":0.2976999878883362},{"id":"https://openalex.org/C40683218","wikidata":"https://www.wikidata.org/wiki/Q5260625","display_name":"Dependency theory (database theory)","level":4,"score":0.28619998693466187},{"id":"https://openalex.org/C2778976928","wikidata":"https://www.wikidata.org/wiki/Q7980958","display_name":"Welfare dependency","level":3,"score":0.2849000096321106},{"id":"https://openalex.org/C3020440742","wikidata":"https://www.wikidata.org/wiki/Q1176855","display_name":"Software package","level":3,"score":0.26570001244544983},{"id":"https://openalex.org/C539667460","wikidata":"https://www.wikidata.org/wiki/Q2414942","display_name":"Management science","level":1,"score":0.26019999384880066},{"id":"https://openalex.org/C98045186","wikidata":"https://www.wikidata.org/wiki/Q205663","display_name":"Process (computing)","level":2,"score":0.2540000081062317},{"id":"https://openalex.org/C42475967","wikidata":"https://www.wikidata.org/wiki/Q194292","display_name":"Operations research","level":1,"score":0.25060001015663147}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1109/saner48275.2020.9054837","is_oa":false,"landing_page_url":"https://doi.org/10.1109/saner48275.2020.9054837","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2020 IEEE 27th International Conference on Software Analysis, Evolution and Reengineering (SANER)","raw_type":"proceedings-article"},{"id":"pmh:oai:arXiv.org:2011.07851","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2011.07851","pdf_url":"https://arxiv.org/pdf/2011.07851","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"},{"id":"pmh:oai:HAL:hal-03005932v1","is_oa":true,"landing_page_url":"https://hal.science/hal-03005932","pdf_url":"https://hal.science/hal-03005932/document","source":{"id":"https://openalex.org/S4306402512","display_name":"HAL (Le Centre pour la Communication Scientifique Directe)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I1294671590","host_organization_name":"Centre National de la Recherche Scientifique","host_organization_lineage":["https://openalex.org/I1294671590"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"2020 IEEE 27th International Conference on Software Analysis, Evolution and Reengineering (SANER), Feb 2020, London, Canada. pp.547-551, &#x27E8;10.1109/SANER48275.2020.9054837&#x27E9;","raw_type":"info:eu-repo/semantics/conferenceObject"},{"id":"pmh:oai:tudelft.nl:uuid:bda40951-c2c4-4d26-8af3-3f0bc5f26c32","is_oa":false,"landing_page_url":"http://resolver.tudelft.nl/uuid:bda40951-c2c4-4d26-8af3-3f0bc5f26c32","pdf_url":null,"source":{"id":"https://openalex.org/S4306400906","display_name":"Research Repository (Delft University of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I98358874","host_organization_name":"Delft University of Technology","host_organization_lineage":["https://openalex.org/I98358874"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"conference paper"}],"best_oa_location":{"id":"pmh:oai:arXiv.org:2011.07851","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2011.07851","pdf_url":"https://arxiv.org/pdf/2011.07851","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G3231584680","display_name":"Fine-Grained Analysis of Software Ecosystems as Networks","funder_award_id":"825328","funder_id":"https://openalex.org/F4320320300","funder_display_name":"European Commission"}],"funders":[{"id":"https://openalex.org/F4320320300","display_name":"European Commission","ror":"https://ror.org/00k4n6c32"},{"id":"https://openalex.org/F4320332999","display_name":"Horizon 2020 Framework Programme","ror":"https://ror.org/00k4n6c32"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":16,"referenced_works":["https://openalex.org/W5815757","https://openalex.org/W1967527902","https://openalex.org/W2030930200","https://openalex.org/W2043061519","https://openalex.org/W2066894451","https://openalex.org/W2116989371","https://openalex.org/W2124789775","https://openalex.org/W2133406853","https://openalex.org/W2156562951","https://openalex.org/W2165094929","https://openalex.org/W3099665066","https://openalex.org/W3205497620","https://openalex.org/W6628099021","https://openalex.org/W6636686826","https://openalex.org/W6651197084","https://openalex.org/W6675182460"],"related_works":[],"abstract_inverted_index":{"Dependency":[0],"solving":[1,76,91,124,152,172],"is":[2,61],"a":[3,80,93,120],"hard":[4],"(NP-complete)":[5],"problem":[6],"in":[7,96,126],"all":[8],"non-trivial":[9],"component":[10],"models":[11],"due":[12],"to":[13,33,63,137,153],"either":[14],"mutually":[15],"incompatible":[16],"versions":[17,50],"of":[18,48,88,122],"the":[19,58,86,163],"same":[20],"packages":[21],"or":[22],"explicitly":[23],"declared":[24],"package":[25,49,59,97,128],"conflicts.":[26],"As":[27],"such,":[28],"software":[29],"upgrade":[30],"planning":[31],"needs":[32],"rely":[34],"on":[35,101,106,158],"highly":[36],"specialized":[37],"dependency":[38,53,75,90,103,123,142,151,171],"solvers,":[39],"lest":[40],"falling":[41],"into":[42],"pitfalls":[43],"such":[44,111],"as":[45,92,112],"incompleteness\u2014a":[46],"combination":[47],"that":[51,132,160,173],"satisfy":[52],"constraints":[54],"does":[55],"exist,":[56],"but":[57],"manager":[60,98],"unable":[62],"find":[64],"it.":[65],"In":[66],"this":[67],"paper":[68],"we":[69,84,130],"look":[70,166],"back":[71,79],"at":[72,167],"proposals":[73,134],"from":[74],"research":[77],"dating":[78],"few":[81,145],"years.":[82],"Specifically,":[83],"review":[85],"idea":[87],"treating":[89],"separate":[94],"concern":[95],"implementations,":[99],"relying":[100],"generic":[102],"solvers":[104],"based":[105],"tried":[107],"and":[108,165],"tested":[109],"techniques":[110],"SAT":[113],"solving,":[114],"PBO,":[115],"MILP,":[116],"etc.":[117],"By":[118],"conducting":[119],"census":[121],"capabilities":[125],"state-of-the-art":[127],"managers":[129],"conclude":[131],"some":[133],"are":[135],"starting":[136],"take":[138],"off":[139],"(e.g.,":[140,149],"SAT-based":[141],"solving)":[143],"while\u2014with":[144],"exceptions\u2014others":[146],"have":[147,174],"not":[148],"outsourcing":[150],"reusable":[154],"components).":[155],"We":[156],"reflect":[157],"why":[159],"has":[161],"been":[162],"case":[164],"novel":[168],"challenges":[169],"for":[170],"emerged":[175],"since.":[176]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":9},{"year":2023,"cited_by_count":6},{"year":2022,"cited_by_count":5},{"year":2021,"cited_by_count":1}],"updated_date":"2026-07-14T23:27:15.235271","created_date":"2020-04-10T00:00:00"}
