{"title":"ALPACA:基于大投资组合的交替条件分析","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":"{\"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}","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}
ALPACA: A Large Portfolio-Based Alternating Conditional Analysis
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.