{"title":"ALPACA: A Large Portfolio-Based Alternating Conditional Analysis","authors":"Mitchell J. Gerrard, Matthew B. Dwyer","doi":"10.1109/ICSE-Companion.2019.00032","DOIUrl":null,"url":null,"abstract":"Program analysis tools typically compute either may or must information. By accumulating both kinds of information computed with respect to different portions of a program's state space, it is possible to collect a comprehensive view of how program inputs relate to some property. This can be done using the framework of an alternating conditional analysis (ACA). In this paper, we present a toolset that instantiates an ACA to analyze C programs. The toolset, dubbed ALPACA (A Large Portfolio-based ACA), computes a sound characterization of all the ways a program either may or must satisfy some property. It does so by alternating between over-and underapproximate analyses, conditioning analyses to ignore portions of the program that have already been analyzed, and combining the results of 14 state-of-the-art analysis tools in a portfolio run in parallel. Download ALPACA at https://bitbucket.org/mgerrard/alpaca. Its video demonstration is at https://youtu.be/H2yXtvODurQ.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"41 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICSE-Companion.2019.00032","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
Program analysis tools typically compute either may or must information. By accumulating both kinds of information computed with respect to different portions of a program's state space, it is possible to collect a comprehensive view of how program inputs relate to some property. This can be done using the framework of an alternating conditional analysis (ACA). In this paper, we present a toolset that instantiates an ACA to analyze C programs. The toolset, dubbed ALPACA (A Large Portfolio-based ACA), computes a sound characterization of all the ways a program either may or must satisfy some property. It does so by alternating between over-and underapproximate analyses, conditioning analyses to ignore portions of the program that have already been analyzed, and combining the results of 14 state-of-the-art analysis tools in a portfolio run in parallel. Download ALPACA at https://bitbucket.org/mgerrard/alpaca. Its video demonstration is at https://youtu.be/H2yXtvODurQ.