{"id":"https://openalex.org/W3208361496","doi":"https://doi.org/10.1017/s1471068421000430","title":"VeriFly: <i>On-the-fly Assertion Checking via Incrementality</i>","display_name":"VeriFly: <i>On-the-fly Assertion Checking via Incrementality</i>","publication_year":2021,"publication_date":"2021-11-01","ids":{"openalex":"https://openalex.org/W3208361496","doi":"https://doi.org/10.1017/s1471068421000430","mag":"3208361496"},"language":"en","primary_location":{"id":"doi:10.1017/s1471068421000430","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s1471068421000430","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/3110DC4ED21CCEF201477DDCB9D769C8/S1471068421000430a.pdf/div-class-title-verifly-span-class-italic-on-the-fly-assertion-checking-via-incrementality-span-div.pdf","source":{"id":"https://openalex.org/S59670734","display_name":"Theory and Practice of Logic Programming","issn_l":"1471-0684","issn":["1471-0684","1475-3081"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Theory and Practice of Logic Programming","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/3110DC4ED21CCEF201477DDCB9D769C8/S1471068421000430a.pdf/div-class-title-verifly-span-class-italic-on-the-fly-assertion-checking-via-incrementality-span-div.pdf","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5001718171","display_name":"Miguel A. Sanchez-Ordaz","orcid":null},"institutions":[{"id":"https://openalex.org/I4210162154","display_name":"IMDEA Software Institute","ror":"https://ror.org/04xvfkh51","country_code":"ES","type":"facility","lineage":["https://openalex.org/I105140100","https://openalex.org/I4210162154"]},{"id":"https://openalex.org/I88060688","display_name":"Universidad Polit\u00e9cnica de Madrid","ror":"https://ror.org/03n6nwv02","country_code":"ES","type":"education","lineage":["https://openalex.org/I88060688"]}],"countries":["ES"],"is_corresponding":true,"raw_author_name":"MIGUEL A. SANCHEZ-ORDAZ","raw_affiliation_strings":["IMDEA Software Institute and Universidad Polit\u00e9cnica de Madrid (UPM) (e-mails:"],"affiliations":[{"raw_affiliation_string":"IMDEA Software Institute and Universidad Polit\u00e9cnica de Madrid (UPM) (e-mails:","institution_ids":["https://openalex.org/I4210162154","https://openalex.org/I88060688"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5038035949","display_name":"Isabel Garcia-Contreras","orcid":"https://orcid.org/0000-0001-6098-3895"},"institutions":[{"id":"https://openalex.org/I4210162154","display_name":"IMDEA Software Institute","ror":"https://ror.org/04xvfkh51","country_code":"ES","type":"facility","lineage":["https://openalex.org/I105140100","https://openalex.org/I4210162154"]},{"id":"https://openalex.org/I88060688","display_name":"Universidad Polit\u00e9cnica de Madrid","ror":"https://ror.org/03n6nwv02","country_code":"ES","type":"education","lineage":["https://openalex.org/I88060688"]}],"countries":["ES"],"is_corresponding":false,"raw_author_name":"ISABEL GARCIA-CONTRERAS","raw_affiliation_strings":["IMDEA Software Institute and Universidad Polit\u00e9cnica de Madrid (UPM) (e-mails:"],"affiliations":[{"raw_affiliation_string":"IMDEA Software Institute and Universidad Polit\u00e9cnica de Madrid (UPM) (e-mails:","institution_ids":["https://openalex.org/I4210162154","https://openalex.org/I88060688"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5014861968","display_name":"V\u00edctor P\u00e9rez","orcid":"https://orcid.org/0000-0002-3302-8339"},"institutions":[{"id":"https://openalex.org/I4210162154","display_name":"IMDEA Software Institute","ror":"https://ror.org/04xvfkh51","country_code":"ES","type":"facility","lineage":["https://openalex.org/I105140100","https://openalex.org/I4210162154"]},{"id":"https://openalex.org/I88060688","display_name":"Universidad Polit\u00e9cnica de Madrid","ror":"https://ror.org/03n6nwv02","country_code":"ES","type":"education","lineage":["https://openalex.org/I88060688"]}],"countries":["ES"],"is_corresponding":false,"raw_author_name":"VICTOR PEREZ","raw_affiliation_strings":["IMDEA Software Institute and Universidad Polit\u00e9cnica de Madrid (UPM) (e-mails:"],"affiliations":[{"raw_affiliation_string":"IMDEA Software Institute and Universidad Polit\u00e9cnica de Madrid (UPM) (e-mails:","institution_ids":["https://openalex.org/I4210162154","https://openalex.org/I88060688"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5008145265","display_name":"Jos\u00e9 F. Morales","orcid":"https://orcid.org/0000-0001-9782-8135"},"institutions":[{"id":"https://openalex.org/I4210162154","display_name":"IMDEA Software Institute","ror":"https://ror.org/04xvfkh51","country_code":"ES","type":"facility","lineage":["https://openalex.org/I105140100","https://openalex.org/I4210162154"]},{"id":"https://openalex.org/I88060688","display_name":"Universidad Polit\u00e9cnica de Madrid","ror":"https://ror.org/03n6nwv02","country_code":"ES","type":"education","lineage":["https://openalex.org/I88060688"]}],"countries":["ES"],"is_corresponding":false,"raw_author_name":"JOS\u00c9 F. MORALES","raw_affiliation_strings":["IMDEA Software Institute and Universidad Polit\u00e9cnica de Madrid (UPM) (e-mails:"],"affiliations":[{"raw_affiliation_string":"IMDEA Software Institute and Universidad Polit\u00e9cnica de Madrid (UPM) (e-mails:","institution_ids":["https://openalex.org/I4210162154","https://openalex.org/I88060688"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5030520172","display_name":"Pedro L\u00f3pez-Garc\u00eda","orcid":"https://orcid.org/0000-0002-1092-2071"},"institutions":[{"id":"https://openalex.org/I4210162154","display_name":"IMDEA Software Institute","ror":"https://ror.org/04xvfkh51","country_code":"ES","type":"facility","lineage":["https://openalex.org/I105140100","https://openalex.org/I4210162154"]}],"countries":["ES"],"is_corresponding":false,"raw_author_name":"PEDRO LOPEZ-GARCIA","raw_affiliation_strings":["IMDEA Software Institute and Spanish Council for Scientific Research (CSIC) (e-mail:"],"affiliations":[{"raw_affiliation_string":"IMDEA Software Institute and Spanish Council for Scientific Research (CSIC) (e-mail:","institution_ids":["https://openalex.org/I4210162154"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5073531919","display_name":"Manuel V. Hermenegildo","orcid":"https://orcid.org/0000-0002-7583-323X"},"institutions":[{"id":"https://openalex.org/I4210162154","display_name":"IMDEA Software Institute","ror":"https://ror.org/04xvfkh51","country_code":"ES","type":"facility","lineage":["https://openalex.org/I105140100","https://openalex.org/I4210162154"]},{"id":"https://openalex.org/I88060688","display_name":"Universidad Polit\u00e9cnica de Madrid","ror":"https://ror.org/03n6nwv02","country_code":"ES","type":"education","lineage":["https://openalex.org/I88060688"]}],"countries":["ES"],"is_corresponding":false,"raw_author_name":"MANUEL V. HERMENEGILDO","raw_affiliation_strings":["IMDEA Software Institute and Universidad Polit\u00e9cnica de Madrid (UPM) (e-mail:"],"affiliations":[{"raw_affiliation_string":"IMDEA Software Institute and Universidad Polit\u00e9cnica de Madrid (UPM) (e-mail:","institution_ids":["https://openalex.org/I4210162154","https://openalex.org/I88060688"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":6,"corresponding_author_ids":["https://openalex.org/A5001718171"],"corresponding_institution_ids":["https://openalex.org/I4210162154","https://openalex.org/I88060688"],"apc_list":null,"apc_paid":null,"fwci":0.4199,"has_fulltext":true,"cited_by_count":4,"citation_normalized_percentile":{"value":0.70284427,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":95},"biblio":{"volume":"21","issue":"6","first_page":"768","last_page":"784"},"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.9990000128746033,"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.9990000128746033,"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.9988999962806702,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.996999979019165,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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.8996808528900146},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7686154842376709},{"id":"https://openalex.org/keywords/assertion","display_name":"Assertion","score":0.5608584880828857},{"id":"https://openalex.org/keywords/modular-design","display_name":"Modular design","score":0.5567335486412048},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.5546188950538635},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.5148252844810486},{"id":"https://openalex.org/keywords/prolog","display_name":"Prolog","score":0.484118789434433},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.47883251309394836},{"id":"https://openalex.org/keywords/context","display_name":"Context (archaeology)","score":0.44170475006103516}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8996808528900146},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7686154842376709},{"id":"https://openalex.org/C40422974","wikidata":"https://www.wikidata.org/wiki/Q741248","display_name":"Assertion","level":2,"score":0.5608584880828857},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.5567335486412048},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.5546188950538635},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.5148252844810486},{"id":"https://openalex.org/C81721847","wikidata":"https://www.wikidata.org/wiki/Q163468","display_name":"Prolog","level":2,"score":0.484118789434433},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.47883251309394836},{"id":"https://openalex.org/C2779343474","wikidata":"https://www.wikidata.org/wiki/Q3109175","display_name":"Context (archaeology)","level":2,"score":0.44170475006103516},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C151730666","wikidata":"https://www.wikidata.org/wiki/Q7205","display_name":"Paleontology","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1017/s1471068421000430","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s1471068421000430","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/3110DC4ED21CCEF201477DDCB9D769C8/S1471068421000430a.pdf/div-class-title-verifly-span-class-italic-on-the-fly-assertion-checking-via-incrementality-span-div.pdf","source":{"id":"https://openalex.org/S59670734","display_name":"Theory and Practice of Logic Programming","issn_l":"1471-0684","issn":["1471-0684","1475-3081"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Theory and Practice of Logic Programming","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1017/s1471068421000430","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s1471068421000430","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/3110DC4ED21CCEF201477DDCB9D769C8/S1471068421000430a.pdf/div-class-title-verifly-span-class-italic-on-the-fly-assertion-checking-via-incrementality-span-div.pdf","source":{"id":"https://openalex.org/S59670734","display_name":"Theory and Practice of Logic Programming","issn_l":"1471-0684","issn":["1471-0684","1475-3081"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Theory and Practice of Logic Programming","raw_type":"journal-article"},"sustainable_development_goals":[{"display_name":"Industry, innovation and infrastructure","id":"https://metadata.un.org/sdg/9","score":0.41999998688697815}],"awards":[{"id":"https://openalex.org/G2016851323","display_name":null,"funder_award_id":"MINECO","funder_id":"https://openalex.org/F4320322930","funder_display_name":"Ministerio de Ciencia e Innovaci\u00f3n"},{"id":"https://openalex.org/G3073382454","display_name":null,"funder_award_id":"FPU grant","funder_id":"https://openalex.org/F4320322930","funder_display_name":"Ministerio de Ciencia e Innovaci\u00f3n"},{"id":"https://openalex.org/G3690828678","display_name":null,"funder_award_id":"PID2019","funder_id":"https://openalex.org/F4320322930","funder_display_name":"Ministerio de Ciencia e Innovaci\u00f3n"}],"funders":[{"id":"https://openalex.org/F4320322930","display_name":"Ministerio de Ciencia e Innovaci\u00f3n","ror":"https://ror.org/034900433"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W3208361496.pdf","grobid_xml":"https://content.openalex.org/works/W3208361496.grobid-xml"},"referenced_works_count":46,"referenced_works":["https://openalex.org/W10187964","https://openalex.org/W14971117","https://openalex.org/W96134206","https://openalex.org/W184390214","https://openalex.org/W967948971","https://openalex.org/W1258379981","https://openalex.org/W1278612252","https://openalex.org/W1485320411","https://openalex.org/W1508161107","https://openalex.org/W1509799693","https://openalex.org/W1533556407","https://openalex.org/W1557126436","https://openalex.org/W1569188499","https://openalex.org/W1572167572","https://openalex.org/W1579672261","https://openalex.org/W1594349561","https://openalex.org/W1596917824","https://openalex.org/W1729749005","https://openalex.org/W1982243747","https://openalex.org/W2003914809","https://openalex.org/W2038037493","https://openalex.org/W2043100293","https://openalex.org/W2091335641","https://openalex.org/W2103042508","https://openalex.org/W2113535330","https://openalex.org/W2116325485","https://openalex.org/W2133545653","https://openalex.org/W2141210774","https://openalex.org/W2142044962","https://openalex.org/W2163660741","https://openalex.org/W2556680237","https://openalex.org/W2778826798","https://openalex.org/W2780115126","https://openalex.org/W2886271628","https://openalex.org/W2886989630","https://openalex.org/W2962765334","https://openalex.org/W3019340178","https://openalex.org/W3021187112","https://openalex.org/W3048322734","https://openalex.org/W3105504524","https://openalex.org/W3120972506","https://openalex.org/W3122466558","https://openalex.org/W3137596000","https://openalex.org/W3164570767","https://openalex.org/W3214504269","https://openalex.org/W6789038416"],"related_works":["https://openalex.org/W1498103021","https://openalex.org/W4230849338","https://openalex.org/W4295166216","https://openalex.org/W2177044681","https://openalex.org/W1968067090","https://openalex.org/W2345942070","https://openalex.org/W2141398161","https://openalex.org/W2016410697","https://openalex.org/W39611005","https://openalex.org/W653076280"],"abstract_inverted_index":{"Abstract":[0],"Assertion":[1],"checking":[2,221,261],"is":[3,99,106,131,145,212],"an":[4,168],"invaluable":[5],"programmer\u2019s":[6],"tool":[7,157,245,273],"for":[8,81,117],"finding":[9],"many":[10],"classes":[11],"of":[12,91,136,153,164,175,183],"errors":[13,47],"or":[14],"verifying":[15],"their":[16],"absence":[17],"in":[18,70,216,235],"dynamic":[19],"languages":[20,281],"such":[21,35,176],"as":[22,36,192,277,279],"Prolog.":[23],"For":[24],"Prolog":[25,275],"programmers,":[26],"this":[27,129,156,165],"means":[28],"being":[29],"able":[30],"to":[31,51,114,147,178,266],"have":[32],"relevant":[33],"properties,":[34],"modes,":[37],"types,":[38],"determinacy,":[39],"nonfailure,":[40],"sharing,":[41],"constraints,":[42],"and":[43,46,75,87,126,138,141,188,194,214,258,262],"cost,":[44],"checked":[45],"flagged":[48],"without":[49],"having":[50],"actually":[52],"run":[53],"the":[54,65,71,108,162,198,202,244,269],"program.":[55],"Such":[56],"global":[57],"static":[58,124],"analysis":[59,90,125,143,187],"tools":[60],"are":[61,68,79,229],"arguably":[62],"most":[63],"useful":[64],"earlier":[66],"they":[67],"used":[69],"software":[72,93],"development":[73,170,238,270],"cycle,":[74],"fast":[76],"response":[77],"times":[78,253],"essential":[80],"interactive":[82],"use.":[83],"Triggering":[84],"a":[85,92,97,134,180],"full":[86],"precise":[88,259],"semantic":[89,264,283],"project":[94],"every":[95],"time":[96],"change":[98],"made":[100],"can":[101],"be":[102,115],"prohibitively":[103],"expensive.":[104],"This":[105],"specially":[107],"case":[109],"when":[110,185],"complex":[111],"properties":[112],"need":[113],"inferred":[116],"large,":[118],"realistic":[119],"code":[120],"bases.":[121],"In":[122,155],"our":[123],"verification":[127,189],"framework,":[128],"challenge":[130],"addressed":[132],"through":[133],"combination":[135,163],"modular":[137],"incremental":[139],"(context-":[140],"path-sensitive)":[142],"that":[144,209,226,254],"responsive":[146],"program":[148,199],"edits,":[149],"at":[150],"different":[151],"levels":[152],"granularity.":[154],"paper,":[158],"we":[159,210],"present":[160],"how":[161],"framework":[166],"within":[167],"integrated":[169],"environment":[171],"(IDE)":[172],"takes":[173],"advantage":[174],"incrementality":[177],"achieve":[179],"high":[181],"level":[182],"reactivity":[184],"reflecting":[186],"results":[190],"back":[191],"colorings":[193],"tooltips":[195],"directly":[196],"on":[197],"text":[200],"\u2013":[201],"tool\u2019s":[203],"VeriFly":[204],"mode.":[205],"The":[206,272],"concrete":[207],"implementation":[208],"describe":[211],"Emacs-based":[213],"reuses":[215],"part":[217],"off-the-shelf":[218],"\u201con-the-fly\u201d":[219],"syntax":[220],"facilities":[222],"(flycheck).":[223],"We":[224],"believe":[225],"similar":[227],"extensions":[228],"also":[230],"reproducible":[231],"with":[232,243,250],"low":[233,251],"effort":[234],"other":[236,263,280],"mature":[237],"environments.":[239],"Our":[240],"initial":[241],"experience":[242],"shows":[246],"quite":[247],"promising":[248],"results,":[249],"latency":[252],"provide":[255],"early,":[256],"continuous,":[257],"assertion":[260],"feedback":[265],"programmers":[267],"during":[268],"process.":[271],"supports":[274],"natively,":[276],"well":[278],"by":[282],"transformation":[284],"into":[285],"Horn":[286],"clauses.":[287]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":1}],"updated_date":"2026-04-10T15:06:20.359241","created_date":"2025-10-10T00:00:00"}
