[{"oa":1,"quality_controlled":"1","publisher":"IEEE","year":"2019","publication":"IEEE International Conference on Blockchain and Cryptocurrency","day":"01","date_created":"2019-02-26T09:03:15Z","doi":"10.1109/BLOC.2019.8751326","date_published":"2019-05-01T00:00:00Z","article_number":"8751326","project":[{"name":"Efficient Algorithms for Computer Aided Verification","grant_number":"ICT15-003","_id":"25892FC0-B435-11E9-9278-68D0E5697425"},{"call_identifier":"FWF","_id":"25832EC2-B435-11E9-9278-68D0E5697425","grant_number":"S 11407_N23","name":"Rigorous Systems Engineering"},{"_id":"2581B60A-B435-11E9-9278-68D0E5697425","call_identifier":"FP7","name":"Quantitative Graph Games: Theory and Applications","grant_number":"279307"},{"_id":"266EEEC0-B435-11E9-9278-68D0E5697425","name":"Quantitative Game-theoretic Analysis of Blockchain Applications and Smart Contracts"},{"_id":"267066CE-B435-11E9-9278-68D0E5697425","name":"Quantitative Analysis of Probablistic Systems with a focus on Crypto-currencies"}],"citation":{"chicago":"Chatterjee, Krishnendu, Amir Kafshdar Goharshady, and Arash Pourdamghani. “Probabilistic Smart Contracts: Secure Randomness on the Blockchain.” In IEEE International Conference on Blockchain and Cryptocurrency. IEEE, 2019. https://doi.org/10.1109/BLOC.2019.8751326.","ista":"Chatterjee K, Goharshady AK, Pourdamghani A. 2019. Probabilistic smart contracts: Secure randomness on the blockchain. IEEE International Conference on Blockchain and Cryptocurrency. IEEE International Conference on Blockchain and Cryptocurrency, 8751326.","mla":"Chatterjee, Krishnendu, et al. “Probabilistic Smart Contracts: Secure Randomness on the Blockchain.” IEEE International Conference on Blockchain and Cryptocurrency, 8751326, IEEE, 2019, doi:10.1109/BLOC.2019.8751326.","ieee":"K. Chatterjee, A. K. Goharshady, and A. Pourdamghani, “Probabilistic smart contracts: Secure randomness on the blockchain,” in IEEE International Conference on Blockchain and Cryptocurrency, Seoul, Korea, 2019.","short":"K. Chatterjee, A.K. Goharshady, A. Pourdamghani, in:, IEEE International Conference on Blockchain and Cryptocurrency, IEEE, 2019.","ama":"Chatterjee K, Goharshady AK, Pourdamghani A. Probabilistic smart contracts: Secure randomness on the blockchain. In: IEEE International Conference on Blockchain and Cryptocurrency. IEEE; 2019. doi:10.1109/BLOC.2019.8751326","apa":"Chatterjee, K., Goharshady, A. K., & Pourdamghani, A. (2019). Probabilistic smart contracts: Secure randomness on the blockchain. In IEEE International Conference on Blockchain and Cryptocurrency. Seoul, Korea: IEEE. https://doi.org/10.1109/BLOC.2019.8751326"},"user_id":"3E5EF7F0-F248-11E8-B48F-1D18A9856A87","external_id":{"arxiv":["1902.07986"]},"author":[{"id":"2E5DCA20-F248-11E8-B48F-1D18A9856A87","first_name":"Krishnendu","last_name":"Chatterjee","full_name":"Chatterjee, Krishnendu","orcid":"0000-0002-4561-241X"},{"orcid":"0000-0003-1702-6584","full_name":"Goharshady, Amir Kafshdar","last_name":"Goharshady","id":"391365CE-F248-11E8-B48F-1D18A9856A87","first_name":"Amir Kafshdar"},{"first_name":"Arash","full_name":"Pourdamghani, Arash","last_name":"Pourdamghani"}],"title":"Probabilistic smart contracts: Secure randomness on the blockchain","abstract":[{"lang":"eng","text":"In today's programmable blockchains, smart contracts are limited to being deterministic and non-probabilistic. This lack of randomness is a consequential limitation, given that a wide variety of real-world financial contracts, such as casino games and lotteries, depend entirely on randomness. As a result, several ad-hoc random number generation approaches have been developed to be used in smart contracts. These include ideas such as using an oracle or relying on the block hash. However, these approaches are manipulatable, i.e. their output can be tampered with by parties who might not be neutral, such as the owner of the oracle or the miners.We propose a novel game-theoretic approach for generating provably unmanipulatable pseudorandom numbers on the blockchain. Our approach allows smart contracts to access a trustworthy source of randomness that does not rely on potentially compromised miners or oracles, hence enabling the creation of a new generation of smart contracts that are not limited to being non-probabilistic and can be drawn from the much more general class of probabilistic programs."}],"oa_version":"Preprint","main_file_link":[{"url":"https://arxiv.org/abs/1902.07986","open_access":"1"}],"scopus_import":1,"month":"05","publication_status":"published","language":[{"iso":"eng"}],"ec_funded":1,"related_material":{"record":[{"status":"public","id":"8934","relation":"dissertation_contains"}]},"_id":"6056","conference":{"name":"IEEE International Conference on Blockchain and Cryptocurrency","start_date":"2019-05-14","end_date":"2019-05-17","location":"Seoul, Korea"},"type":"conference","status":"public","date_updated":"2024-03-27T23:30:33Z","department":[{"_id":"KrCh"}]},{"oa_version":"Submitted Version","abstract":[{"text":"In today's cryptocurrencies, Hashcash proof of work is the most commonly-adopted approach to mining. In Hashcash, when a miner decides to add a block to the chain, she has to solve the difficult computational puzzle of inverting a hash function. While Hashcash has been successfully adopted in both Bitcoin and Ethereum, it has attracted significant and harsh criticism due to its massive waste of electricity, its carbon footprint and environmental effects, and the inherent lack of usefulness in inverting a hash function. Various other mining protocols have been suggested, including proof of stake, in which a miner's chance of adding the next block is proportional to her current balance. However, such protocols lead to a higher entry cost for new miners who might not still have any stake in the cryptocurrency, and can in the worst case lead to an oligopoly, where the rich have complete control over mining. In this paper, we propose Hybrid Mining: a new mining protocol that combines solving real-world useful problems with Hashcash. Our protocol allows new miners to join the network by taking part in Hashcash mining without having to own an initial stake. It also allows nodes of the network to submit hard computational problems whose solutions are of interest in the real world, e.g.~protein folding problems. Then, miners can choose to compete in solving these problems, in lieu of Hashcash, for adding a new block. Hence, Hybrid Mining incentivizes miners to solve useful problems, such as hard computational problems arising in biology, in a distributed manner. It also gives researchers in other areas an easy-to-use tool to outsource their hard computations to the blockchain network, which has enormous computational power, by paying a reward to the miner who solves the problem for them. Moreover, our protocol provides strong security guarantees and is at least as resilient to double spending as Bitcoin.","lang":"eng"}],"month":"04","scopus_import":"1","language":[{"iso":"eng"}],"file":[{"date_updated":"2020-07-14T12:47:29Z","file_size":1023934,"creator":"dernst","date_created":"2019-05-06T12:09:27Z","file_name":"2019_ACM_Chatterjee.pdf","content_type":"application/pdf","access_level":"open_access","relation":"main_file","file_id":"6379","checksum":"fbfbcd5a0c7a743862bfc3045539a614"}],"publication_status":"published","publication_identifier":{"isbn":["9781450359337"]},"ec_funded":1,"related_material":{"record":[{"status":"public","id":"8934","relation":"dissertation_contains"}]},"volume":"Part F147772","_id":"6378","pubrep_id":"1069","status":"public","conference":{"name":"ACM Symposium on Applied Computing","start_date":"2019-04-08","location":"Limassol, Cyprus","end_date":"2019-04-12"},"type":"conference","ddc":["004"],"date_updated":"2024-03-27T23:30:33Z","file_date_updated":"2020-07-14T12:47:29Z","department":[{"_id":"KrCh"}],"oa":1,"quality_controlled":"1","publisher":"ACM","publication":"Proceedings of the 34th ACM Symposium on Applied Computing","day":"01","year":"2019","has_accepted_license":"1","isi":1,"date_created":"2019-05-06T12:11:36Z","doi":"10.1145/3297280.3297319","date_published":"2019-04-01T00:00:00Z","page":"374-381","project":[{"name":"Quantitative Graph Games: Theory and Applications","grant_number":"279307","_id":"2581B60A-B435-11E9-9278-68D0E5697425","call_identifier":"FP7"},{"_id":"25892FC0-B435-11E9-9278-68D0E5697425","name":"Efficient Algorithms for Computer Aided Verification","grant_number":"ICT15-003"},{"grant_number":"S 11407_N23","name":"Rigorous Systems Engineering","_id":"25832EC2-B435-11E9-9278-68D0E5697425","call_identifier":"FWF"}],"user_id":"4359f0d1-fa6c-11eb-b949-802e58b17ae8","citation":{"apa":"Chatterjee, K., Goharshady, A. K., & Pourdamghani, A. (2019). Hybrid Mining: Exploiting blockchain’s computational power for distributed problem solving. In Proceedings of the 34th ACM Symposium on Applied Computing (Vol. Part F147772, pp. 374–381). Limassol, Cyprus: ACM. https://doi.org/10.1145/3297280.3297319","ama":"Chatterjee K, Goharshady AK, Pourdamghani A. Hybrid Mining: Exploiting blockchain’s computational power for distributed problem solving. In: Proceedings of the 34th ACM Symposium on Applied Computing. Vol Part F147772. ACM; 2019:374-381. doi:10.1145/3297280.3297319","short":"K. Chatterjee, A.K. Goharshady, A. Pourdamghani, in:, Proceedings of the 34th ACM Symposium on Applied Computing, ACM, 2019, pp. 374–381.","ieee":"K. Chatterjee, A. K. Goharshady, and A. Pourdamghani, “Hybrid Mining: Exploiting blockchain’s computational power for distributed problem solving,” in Proceedings of the 34th ACM Symposium on Applied Computing, Limassol, Cyprus, 2019, vol. Part F147772, pp. 374–381.","mla":"Chatterjee, Krishnendu, et al. “Hybrid Mining: Exploiting Blockchain’s Computational Power for Distributed Problem Solving.” Proceedings of the 34th ACM Symposium on Applied Computing, vol. Part F147772, ACM, 2019, pp. 374–81, doi:10.1145/3297280.3297319.","ista":"Chatterjee K, Goharshady AK, Pourdamghani A. 2019. Hybrid Mining: Exploiting blockchain’s computational power for distributed problem solving. Proceedings of the 34th ACM Symposium on Applied Computing. ACM Symposium on Applied Computing vol. Part F147772, 374–381.","chicago":"Chatterjee, Krishnendu, Amir Kafshdar Goharshady, and Arash Pourdamghani. “Hybrid Mining: Exploiting Blockchain’s Computational Power for Distributed Problem Solving.” In Proceedings of the 34th ACM Symposium on Applied Computing, Part F147772:374–81. ACM, 2019. https://doi.org/10.1145/3297280.3297319."},"title":"Hybrid Mining: Exploiting blockchain’s computational power for distributed problem solving","external_id":{"isi":["000474685800049"]},"article_processing_charge":"No","author":[{"id":"2E5DCA20-F248-11E8-B48F-1D18A9856A87","first_name":"Krishnendu","orcid":"0000-0002-4561-241X","full_name":"Chatterjee, Krishnendu","last_name":"Chatterjee"},{"id":"391365CE-F248-11E8-B48F-1D18A9856A87","first_name":"Amir Kafshdar","full_name":"Goharshady, Amir Kafshdar","orcid":"0000-0003-1702-6584","last_name":"Goharshady"},{"last_name":"Pourdamghani","full_name":"Pourdamghani, Arash","first_name":"Arash"}]},{"publisher":"Association for Computing Machinery","quality_controlled":"1","oa":1,"isi":1,"has_accepted_license":"1","year":"2019","day":"08","publication":"PLDI 2019: Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation","page":"204-220","date_published":"2019-06-08T00:00:00Z","doi":"10.1145/3314221.3314581","date_created":"2019-03-25T10:13:25Z","project":[{"grant_number":"ICT15-003","name":"Efficient Algorithms for Computer Aided Verification","_id":"25892FC0-B435-11E9-9278-68D0E5697425"},{"name":"Game Theory","grant_number":"S11407","call_identifier":"FWF","_id":"25863FF4-B435-11E9-9278-68D0E5697425"},{"_id":"25832EC2-B435-11E9-9278-68D0E5697425","call_identifier":"FWF","grant_number":"S 11407_N23","name":"Rigorous Systems Engineering"},{"_id":"2581B60A-B435-11E9-9278-68D0E5697425","call_identifier":"FP7","name":"Quantitative Graph Games: Theory and Applications","grant_number":"279307"},{"name":"Quantitative Game-theoretic Analysis of Blockchain Applications and Smart Contracts","_id":"266EEEC0-B435-11E9-9278-68D0E5697425"}],"citation":{"mla":"Wang, Peixin, et al. “Cost Analysis of Nondeterministic Probabilistic Programs.” PLDI 2019: Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation, Association for Computing Machinery, 2019, pp. 204–20, doi:10.1145/3314221.3314581.","short":"P. Wang, H. Fu, A.K. Goharshady, K. Chatterjee, X. Qin, W. Shi, in:, PLDI 2019: Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation, Association for Computing Machinery, 2019, pp. 204–220.","ieee":"P. Wang, H. Fu, A. K. Goharshady, K. Chatterjee, X. Qin, and W. Shi, “Cost analysis of nondeterministic probabilistic programs,” in PLDI 2019: Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation, Phoenix, AZ, United States, 2019, pp. 204–220.","ama":"Wang P, Fu H, Goharshady AK, Chatterjee K, Qin X, Shi W. Cost analysis of nondeterministic probabilistic programs. In: PLDI 2019: Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation. Association for Computing Machinery; 2019:204-220. doi:10.1145/3314221.3314581","apa":"Wang, P., Fu, H., Goharshady, A. K., Chatterjee, K., Qin, X., & Shi, W. (2019). Cost analysis of nondeterministic probabilistic programs. In PLDI 2019: Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation (pp. 204–220). Phoenix, AZ, United States: Association for Computing Machinery. https://doi.org/10.1145/3314221.3314581","chicago":"Wang, Peixin, Hongfei Fu, Amir Kafshdar Goharshady, Krishnendu Chatterjee, Xudong Qin, and Wenjun Shi. “Cost Analysis of Nondeterministic Probabilistic Programs.” In PLDI 2019: Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation, 204–20. Association for Computing Machinery, 2019. https://doi.org/10.1145/3314221.3314581.","ista":"Wang P, Fu H, Goharshady AK, Chatterjee K, Qin X, Shi W. 2019. Cost analysis of nondeterministic probabilistic programs. PLDI 2019: Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation. PLDI: Conference on Programming Language Design and Implementation, 204–220."},"user_id":"4359f0d1-fa6c-11eb-b949-802e58b17ae8","author":[{"full_name":"Wang, Peixin","last_name":"Wang","first_name":"Peixin"},{"full_name":"Fu, Hongfei","last_name":"Fu","first_name":"Hongfei","id":"3AAD03D6-F248-11E8-B48F-1D18A9856A87"},{"first_name":"Amir Kafshdar","id":"391365CE-F248-11E8-B48F-1D18A9856A87","last_name":"Goharshady","orcid":"0000-0003-1702-6584","full_name":"Goharshady, Amir Kafshdar"},{"last_name":"Chatterjee","full_name":"Chatterjee, Krishnendu","orcid":"0000-0002-4561-241X","first_name":"Krishnendu","id":"2E5DCA20-F248-11E8-B48F-1D18A9856A87"},{"first_name":"Xudong","last_name":"Qin","full_name":"Qin, Xudong"},{"first_name":"Wenjun","full_name":"Shi, Wenjun","last_name":"Shi"}],"article_processing_charge":"No","external_id":{"arxiv":["1902.04659"],"isi":["000523190300014"]},"title":"Cost analysis of nondeterministic probabilistic programs","abstract":[{"text":"We consider the problem of expected cost analysis over nondeterministic probabilistic programs,\r\nwhich aims at automated methods for analyzing the resource-usage of such programs.\r\nPrevious approaches for this problem could only handle nonnegative bounded costs.\r\nHowever, in many scenarios, such as queuing networks or analysis of cryptocurrency protocols,\r\nboth positive and negative costs are necessary and the costs are unbounded as well.\r\n\r\nIn this work, we present a sound and efficient approach to obtain polynomial bounds on the\r\nexpected accumulated cost of nondeterministic probabilistic programs.\r\nOur approach can handle (a) general positive and negative costs with bounded updates in\r\nvariables; and (b) nonnegative costs with general updates to variables.\r\nWe show that several natural examples which could not be\r\nhandled by previous approaches are captured in our framework.\r\n\r\nMoreover, our approach leads to an efficient polynomial-time algorithm, while no\r\nprevious approach for cost analysis of probabilistic programs could guarantee polynomial runtime.\r\nFinally, we show the effectiveness of our approach using experimental results on a variety of programs for which we efficiently synthesize tight resource-usage bounds.","lang":"eng"}],"oa_version":"Submitted Version","scopus_import":"1","month":"06","publication_status":"published","file":[{"content_type":"application/pdf","relation":"main_file","access_level":"open_access","file_id":"6176","checksum":"703a5e9b8c8587f2a44085ffd9a4db64","file_size":4051066,"date_updated":"2020-07-14T12:47:20Z","creator":"akafshda","file_name":"paper.pdf","date_created":"2019-03-25T10:11:22Z"}],"language":[{"iso":"eng"}],"related_material":{"record":[{"relation":"earlier_version","id":"5457","status":"public"},{"relation":"dissertation_contains","id":"8934","status":"public"}]},"ec_funded":1,"_id":"6175","type":"conference","conference":{"name":"PLDI: Conference on Programming Language Design and Implementation","location":"Phoenix, AZ, United States","end_date":"2019-06-26","start_date":"2019-06-22"},"status":"public","keyword":["Program Cost Analysis","Program Termination","Probabilistic Programs","Martingales"],"date_updated":"2024-03-27T23:30:33Z","ddc":["000"],"file_date_updated":"2020-07-14T12:47:20Z","department":[{"_id":"KrCh"}]},{"month":"04","scopus_import":"1","oa_version":"Submitted Version","abstract":[{"text":"Smart contracts are programs that are stored and executed on the Blockchain and can receive, manage and transfer money (cryptocurrency units). Two important problems regarding smart contracts are formal analysis and compiler optimization. Formal analysis is extremely important, because smart contracts hold funds worth billions of dollars and their code is immutable after deployment. Hence, an undetected bug can cause significant financial losses. Compiler optimization is also crucial, because every action of a smart contract has to be executed by every node in the Blockchain network. Therefore, optimizations in compiling smart contracts can lead to significant savings in computation, time and energy.\r\n\r\nTwo classical approaches in program analysis and compiler optimization are intraprocedural and interprocedural analysis. In intraprocedural analysis, each function is analyzed separately, while interprocedural analysis considers the entire program. In both cases, the analyses are usually reduced to graph problems over the control flow graph (CFG) of the program. These graph problems are often computationally expensive. Hence, there has been ample research on exploiting structural properties of CFGs for efficient algorithms. One such well-studied property is the treewidth, which is a measure of tree-likeness of graphs. It is known that intraprocedural CFGs of structured programs have treewidth at most 6, whereas the interprocedural treewidth cannot be bounded. This result has been used as a basis for many efficient intraprocedural analyses.\r\n\r\nIn this paper, we explore the idea of exploiting the treewidth of smart contracts for formal analysis and compiler optimization. First, similar to classical programs, we show that the intraprocedural treewidth of structured Solidity and Vyper smart contracts is at most 9. Second, for global analysis, we prove that the interprocedural treewidth of structured smart contracts is bounded by 10 and, in sharp contrast with classical programs, treewidth-based algorithms can be easily applied for interprocedural analysis. Finally, we supplement our theoretical results with experiments using a tool we implemented for computing treewidth of smart contracts and show that the treewidth is much lower in practice. We use 36,764 real-world Ethereum smart contracts as benchmarks and find that they have an average treewidth of at most 3.35 for the intraprocedural case and 3.65 for the interprocedural case.\r\n","lang":"eng"}],"related_material":{"record":[{"relation":"dissertation_contains","status":"public","id":"8934"}]},"volume":"Part F147772","language":[{"iso":"eng"}],"file":[{"content_type":"application/pdf","access_level":"open_access","relation":"main_file","checksum":"dddc20f6d9881f23b8755eb720ec9d6f","file_id":"7827","date_updated":"2020-07-14T12:47:32Z","file_size":6937138,"creator":"dernst","date_created":"2020-05-14T09:50:11Z","file_name":"2019_ACM_Chatterjee.pdf"}],"publication_status":"submitted","publication_identifier":{"isbn":["9781450359337"]},"pubrep_id":"1070","status":"public","conference":{"start_date":"2019-04-08","location":"Limassol, Cyprus","end_date":"2019-04-12","name":"SAC: Symposium on Applied Computing"},"type":"conference","_id":"6490","file_date_updated":"2020-07-14T12:47:32Z","department":[{"_id":"KrCh"}],"ddc":["000"],"date_updated":"2024-03-27T23:30:33Z","oa":1,"publisher":"ACM","quality_controlled":"1","date_created":"2019-05-26T21:59:15Z","date_published":"2019-04-01T00:00:00Z","doi":"10.1145/3297280.3297322","page":"400-408","publication":"Proceedings of the 34th ACM Symposium on Applied Computing","day":"01","year":"2019","isi":1,"has_accepted_license":"1","title":"The treewidth of smart contracts","external_id":{"isi":["000474685800052"]},"article_processing_charge":"No","author":[{"id":"2E5DCA20-F248-11E8-B48F-1D18A9856A87","first_name":"Krishnendu","orcid":"0000-0002-4561-241X","full_name":"Chatterjee, Krishnendu","last_name":"Chatterjee"},{"id":"391365CE-F248-11E8-B48F-1D18A9856A87","first_name":"Amir Kafshdar","full_name":"Goharshady, Amir Kafshdar","orcid":"0000-0003-1702-6584","last_name":"Goharshady"},{"full_name":"Goharshady, Ehsan Kafshdar","last_name":"Goharshady","first_name":"Ehsan Kafshdar"}],"user_id":"4359f0d1-fa6c-11eb-b949-802e58b17ae8","citation":{"mla":"Chatterjee, Krishnendu, et al. “The Treewidth of Smart Contracts.” Proceedings of the 34th ACM Symposium on Applied Computing, vol. Part F147772, ACM, pp. 400–08, doi:10.1145/3297280.3297322.","apa":"Chatterjee, K., Goharshady, A. K., & Goharshady, E. K. (n.d.). The treewidth of smart contracts. In Proceedings of the 34th ACM Symposium on Applied Computing (Vol. Part F147772, pp. 400–408). Limassol, Cyprus: ACM. https://doi.org/10.1145/3297280.3297322","ama":"Chatterjee K, Goharshady AK, Goharshady EK. The treewidth of smart contracts. In: Proceedings of the 34th ACM Symposium on Applied Computing. Vol Part F147772. ACM; :400-408. doi:10.1145/3297280.3297322","short":"K. Chatterjee, A.K. Goharshady, E.K. Goharshady, in:, Proceedings of the 34th ACM Symposium on Applied Computing, ACM, n.d., pp. 400–408.","ieee":"K. Chatterjee, A. K. Goharshady, and E. K. Goharshady, “The treewidth of smart contracts,” in Proceedings of the 34th ACM Symposium on Applied Computing, Limassol, Cyprus, vol. Part F147772, pp. 400–408.","chicago":"Chatterjee, Krishnendu, Amir Kafshdar Goharshady, and Ehsan Kafshdar Goharshady. “The Treewidth of Smart Contracts.” In Proceedings of the 34th ACM Symposium on Applied Computing, Part F147772:400–408. ACM, n.d. https://doi.org/10.1145/3297280.3297322.","ista":"Chatterjee K, Goharshady AK, Goharshady EK. The treewidth of smart contracts. Proceedings of the 34th ACM Symposium on Applied Computing. SAC: Symposium on Applied Computing vol. Part F147772, 400–408."}},{"type":"journal_article","article_type":"original","status":"public","_id":"7158","department":[{"_id":"KrCh"}],"file_date_updated":"2020-10-08T12:58:10Z","date_updated":"2024-03-27T23:30:34Z","ddc":["000"],"scopus_import":"1","intvolume":" 41","month":"11","abstract":[{"lang":"eng","text":"Interprocedural analysis is at the heart of numerous applications in programming languages, such as alias analysis, constant propagation, and so on. Recursive state machines (RSMs) are standard models for interprocedural analysis. We consider a general framework with RSMs where the transitions are labeled from a semiring and path properties are algebraic with semiring operations. RSMs with algebraic path properties can model interprocedural dataflow analysis problems, the shortest path problem, the most probable path problem, and so on. The traditional algorithms for interprocedural analysis focus on path properties where the starting point is fixed as the entry point of a specific method. In this work, we consider possible multiple queries as required in many applications such as in alias analysis. The study of multiple queries allows us to bring in an important algorithmic distinction between the resource usage of the one-time preprocessing vs for each individual query. The second aspect we consider is that the control flow graphs for most programs have constant treewidth.\r\n\r\nOur main contributions are simple and implementable algorithms that support multiple queries for algebraic path properties for RSMs that have constant treewidth. Our theoretical results show that our algorithms have small additional one-time preprocessing but can answer subsequent queries significantly faster as compared to the current algorithmic solutions for interprocedural dataflow analysis. We have also implemented our algorithms and evaluated their performance for performing on-demand interprocedural dataflow analysis on various domains, such as for live variable analysis and reaching definitions, on a standard benchmark set. Our experimental results align with our theoretical statements and show that after a lightweight preprocessing, on-demand queries are answered much faster than the standard existing algorithmic approaches.\r\n"}],"oa_version":"Submitted Version","ec_funded":1,"issue":"4","volume":41,"related_material":{"record":[{"relation":"dissertation_contains","status":"public","id":"8934"}]},"publication_status":"published","publication_identifier":{"issn":["0164-0925"]},"language":[{"iso":"eng"}],"file":[{"creator":"dernst","date_updated":"2020-10-08T12:58:10Z","file_size":667357,"date_created":"2020-10-08T12:58:10Z","file_name":"2019_ACMTransactions_Chatterjee.pdf","access_level":"open_access","relation":"main_file","content_type":"application/pdf","file_id":"8632","checksum":"291cc86a07bd010d4815e177dac57b70","success":1}],"project":[{"call_identifier":"FWF","_id":"2584A770-B435-11E9-9278-68D0E5697425","grant_number":"P 23499-N23","name":"Modern Graph Algorithmic Techniques in Formal Verification"},{"name":"Game Theory","grant_number":"S11407","_id":"25863FF4-B435-11E9-9278-68D0E5697425","call_identifier":"FWF"},{"call_identifier":"FP7","_id":"2581B60A-B435-11E9-9278-68D0E5697425","name":"Quantitative Graph Games: Theory and Applications","grant_number":"279307"}],"article_number":"23","article_processing_charge":"No","external_id":{"isi":["000564108400004"]},"author":[{"last_name":"Chatterjee","orcid":"0000-0002-4561-241X","full_name":"Chatterjee, Krishnendu","id":"2E5DCA20-F248-11E8-B48F-1D18A9856A87","first_name":"Krishnendu"},{"first_name":"Amir Kafshdar","id":"391365CE-F248-11E8-B48F-1D18A9856A87","orcid":"0000-0003-1702-6584","full_name":"Goharshady, Amir Kafshdar","last_name":"Goharshady"},{"first_name":"Prateesh","full_name":"Goyal, Prateesh","last_name":"Goyal"},{"id":"3B699956-F248-11E8-B48F-1D18A9856A87","first_name":"Rasmus","last_name":"Ibsen-Jensen","full_name":"Ibsen-Jensen, Rasmus","orcid":"0000-0003-4783-0389"},{"full_name":"Pavlogiannis, Andreas","orcid":"0000-0002-8943-0722","last_name":"Pavlogiannis","id":"49704004-F248-11E8-B48F-1D18A9856A87","first_name":"Andreas"}],"title":"Faster algorithms for dynamic algebraic queries in basic RSMs with constant treewidth","citation":{"mla":"Chatterjee, Krishnendu, et al. “Faster Algorithms for Dynamic Algebraic Queries in Basic RSMs with Constant Treewidth.” ACM Transactions on Programming Languages and Systems, vol. 41, no. 4, 23, ACM, 2019, doi:10.1145/3363525.","apa":"Chatterjee, K., Goharshady, A. K., Goyal, P., Ibsen-Jensen, R., & Pavlogiannis, A. (2019). Faster algorithms for dynamic algebraic queries in basic RSMs with constant treewidth. ACM Transactions on Programming Languages and Systems. ACM. https://doi.org/10.1145/3363525","ama":"Chatterjee K, Goharshady AK, Goyal P, Ibsen-Jensen R, Pavlogiannis A. Faster algorithms for dynamic algebraic queries in basic RSMs with constant treewidth. ACM Transactions on Programming Languages and Systems. 2019;41(4). doi:10.1145/3363525","short":"K. Chatterjee, A.K. Goharshady, P. Goyal, R. Ibsen-Jensen, A. Pavlogiannis, ACM Transactions on Programming Languages and Systems 41 (2019).","ieee":"K. Chatterjee, A. K. Goharshady, P. Goyal, R. Ibsen-Jensen, and A. Pavlogiannis, “Faster algorithms for dynamic algebraic queries in basic RSMs with constant treewidth,” ACM Transactions on Programming Languages and Systems, vol. 41, no. 4. ACM, 2019.","chicago":"Chatterjee, Krishnendu, Amir Kafshdar Goharshady, Prateesh Goyal, Rasmus Ibsen-Jensen, and Andreas Pavlogiannis. “Faster Algorithms for Dynamic Algebraic Queries in Basic RSMs with Constant Treewidth.” ACM Transactions on Programming Languages and Systems. ACM, 2019. https://doi.org/10.1145/3363525.","ista":"Chatterjee K, Goharshady AK, Goyal P, Ibsen-Jensen R, Pavlogiannis A. 2019. Faster algorithms for dynamic algebraic queries in basic RSMs with constant treewidth. ACM Transactions on Programming Languages and Systems. 41(4), 23."},"user_id":"c635000d-4b10-11ee-a964-aac5a93f6ac1","oa":1,"publisher":"ACM","quality_controlled":"1","date_created":"2019-12-09T08:33:33Z","date_published":"2019-11-01T00:00:00Z","doi":"10.1145/3363525","year":"2019","has_accepted_license":"1","isi":1,"publication":"ACM Transactions on Programming Languages and Systems","day":"01"}]