{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,8,2]],"date-time":"2025-08-02T19:01:47Z","timestamp":1754161307097,"version":"3.41.2"},"publisher-location":"New York, NY, USA","reference-count":20,"publisher":"ACM","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2025,6,23]]},"DOI":"10.1145\/3696630.3728591","type":"proceedings-article","created":{"date-parts":[[2025,7,28]],"date-time":"2025-07-28T19:10:43Z","timestamp":1753729843000},"page":"1109-1113","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["TS-Detector : Detecting Feature Toggle Usage Patterns"],"prefix":"10.1145","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-9629-8144","authenticated-orcid":false,"given":"Tajmilur","family":"Rahman","sequence":"first","affiliation":[{"name":"Computer and Information Science, Gannon University, Erie, Pennsylvania, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0009-0000-3065-6367","authenticated-orcid":false,"given":"Mengzhe","family":"Fei","sequence":"additional","affiliation":[{"name":"Computer Science, University of Saskatchewan, Saskatoon, Saskatchewan, Canada"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-0538-052X","authenticated-orcid":false,"given":"Tushar","family":"Sharma","sequence":"additional","affiliation":[{"name":"Computer Science, Dalhousie University, Halifax, Novascotia, Canada"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-0519-6164","authenticated-orcid":false,"given":"Chanchal","family":"Roy","sequence":"additional","affiliation":[{"name":"Computer Science, University of Saskatchewan, Saskatoon, Saskatchewan, Canada"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2025,7,28]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"2022. Feature Flags. https:\/\/apptimize.com\/docs\/featureflags.html."},{"key":"e_1_3_2_1_2_1","volume-title":"Uber Open-Sources Tool to Automatically Clean Up Stale Code. https:\/\/www.infoq.com\/news\/2020\/06\/uber-piranha\/. (January","author":"Campbell Matt","year":"2020","unstructured":"Matt Campbell. 2020. Uber Open-Sources Tool to Automatically Clean Up Stale Code. https:\/\/www.infoq.com\/news\/2020\/06\/uber-piranha\/. (January 2020)."},{"key":"e_1_3_2_1_3_1","volume-title":"2015 IEEE 15th International Working Conference on Source Code Analysis and Manipulation (SCAM). IEEE, 171\u2013180","author":"Fenske Wolfram","year":"2015","unstructured":"Wolfram Fenske, Sandro Schulze, Daniel Meyer, and Gunter Saake. 2015. When code smells twice as much: Metric-based detection of variability-aware code smells. In 2015 IEEE 15th International Working Conference on Source Code Analysis and Manipulation (SCAM). IEEE, 171\u2013180."},{"key":"e_1_3_2_1_4_1","volume-title":"https:\/\/code.flickr.net\/2009\/12\/02\/flipping-out. (December","author":"Out Flipping","year":"2009","unstructured":"Flickr. 2009. Flipping Out. https:\/\/code.flickr.net\/2009\/12\/02\/flipping-out. (December 2009)."},{"key":"e_1_3_2_1_5_1","unstructured":"Martin Fowler. 2017. Feature Toggles (aka Feature Flags). https:\/\/martinfowler.com\/articles\/feature-toggles.html. (2017)."},{"key":"e_1_3_2_1_6_1","volume-title":"Refactoring: Improving the Design of Existing Code (2 ed.)","author":"Fowler Martin","year":"2018","unstructured":"Martin Fowler. 2018. Refactoring: Improving the Design of Existing Code (2 ed.). Addison-Wesley Professional."},{"key":"e_1_3_2_1_7_1","unstructured":"Gene Kim Jez Humble Patrick Debois John Willis and Nicole Forsgren. 2021. The DevOps handbook: How to create world-class agility reliability & security in technology organizations. It Revolution."},{"key":"e_1_3_2_1_8_1","volume-title":"2011 IEEE Symposium on Visual Languages and Human-Centric Computing (VL\/HCC). IEEE, 143\u2013150","author":"Le Duc","year":"2011","unstructured":"Duc Le, Eric Walkingshaw, and Martin Erwig. 2011. # ifdef confirmed harmful: Promoting understandable software variation. In 2011 IEEE Symposium on Visual Languages and Human-Centric Computing (VL\/HCC). IEEE, 143\u2013150."},{"key":"e_1_3_2_1_9_1","volume-title":"Proceedings of the tenth international conference on Aspect-oriented software development. 191\u2013202","author":"Liebig J\u00f6rg","year":"2011","unstructured":"J\u00f6rg Liebig, Christian K\u00e4stner, and Sven Apel. 2011. Analyzing the discipline of preprocessor annotations in 30 million lines of C code. In Proceedings of the tenth international conference on Aspect-oriented software development. 191\u2013202."},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1007\/s10664-020-09901-z","article-title":"Software development with feature toggles: practices used by practitioners","volume":"26","author":"Mahdavi-Hezaveh Rezvan","year":"2021","unstructured":"Rezvan Mahdavi-Hezaveh, Jacob Dremann, and Laurie Williams. 2021. Software development with feature toggles: practices used by practitioners. Empirical Software Engineering 26, 1 (2021), 1\u201333.","journal-title":"Empirical Software Engineering"},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"crossref","first-page":"453","DOI":"10.1109\/TSE.2017.2688333","article-title":"Discipline matters: Refactoring of preprocessor directives in the# ifdef hell","volume":"44","author":"Medeiros Fl\u00e1vio","year":"2017","unstructured":"Fl\u00e1vio Medeiros, M\u00e1rcio Ribeiro, Rohit Gheyi, Sven Apel, Christian K\u00e4stner, Bruno Ferreira, Luiz Carvalho, and Baldoino Fonseca. 2017. Discipline matters: Refactoring of preprocessor directives in the# ifdef hell. IEEE Transactions on Software Engineering 44, 5 (2017), 453\u2013469.","journal-title":"IEEE Transactions on Software Engineering"},{"key":"e_1_3_2_1_12_1","volume-title":"Proceedings of the ACM\/IEEE 42nd International Conference on Software Engineering: Software Engineering in Practice. 233\u2013242","author":"Meinicke Jens","year":"2020","unstructured":"Jens Meinicke, Chu-Pan Wong, Bogdan Vasilescu, and Christian K\u00e4stner. 2020. Exploring differences and commonalities between feature flags and configuration options. In Proceedings of the ACM\/IEEE 42nd International Conference on Software Engineering: Software Engineering in Practice. 233\u2013242."},{"volume-title":"Preparing the Netflix API for Deployment. https:\/\/netflixtechblog.com\/preparing-the-netflix-api-for-deployment-786d8f58090d. (November","year":"2018","key":"e_1_3_2_1_13_1","unstructured":"Netflix. 2018. Preparing the Netflix API for Deployment. https:\/\/netflixtechblog.com\/preparing-the-netflix-api-for-deployment-786d8f58090d. (November 2018)."},{"key":"e_1_3_2_1_14_1","volume-title":"Proceedings of the 13th international conference on mining software repositories. 201\u2013211","author":"Rahman Md Tajmilur","year":"2016","unstructured":"Md Tajmilur Rahman, Louis-Philippe Querel, Peter C Rigby, and Bram Adams. 2016. Feature toggles: practitioner practices and a case study. In Proceedings of the 13th international conference on mining software repositories. 201\u2013211."},{"key":"e_1_3_2_1_15_1","volume-title":"Feature Toggle Usage Patterns: A Case Study on Google Chromium. In 2023 IEEE\/ACM 20th International Conference on Mining Software Repositories (MSR). IEEE, 142\u2013147","author":"Rahman Tajmilur","year":"2023","unstructured":"Tajmilur Rahman. 2023. Feature Toggle Usage Patterns: A Case Study on Google Chromium. In 2023 IEEE\/ACM 20th International Conference on Mining Software Repositories (MSR). IEEE, 142\u2013147."},{"key":"e_1_3_2_1_16_1","volume-title":"Proceedings of the 28th International Conference on Evaluation and Assessment in Software Engineering. 363\u2013368","author":"Rahman Tajmilur","year":"2024","unstructured":"Tajmilur Rahman, Imran Shalabi, and Tushar Sharma. 2024. Exploring Influence of Feature Toggles on Code Complexity. In Proceedings of the 28th International Conference on Evaluation and Assessment in Software Engineering. 363\u2013368."},{"key":"e_1_3_2_1_17_1","volume-title":"Knightmare: A DevOps Cautionary Tale. https:\/\/dougseven.com\/2014\/04\/17\/knightmare-a-devops-cautionary-tale\/. (April","author":"Seven Doug","year":"2014","unstructured":"Doug Seven. 2014. Knightmare: A DevOps Cautionary Tale. https:\/\/dougseven.com\/2014\/04\/17\/knightmare-a-devops-cautionary-tale\/. (April 2014)."},{"key":"e_1_3_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2017.12.034"},{"volume-title":"Feature flags are a nice idea, but nobody outside of Facebook seems to be embracing them. https:\/\/news.ycombinator.com\/item?id=15377207. (October","year":"2017","key":"e_1_3_2_1_19_1","unstructured":"sillysaurus3. 2017. Feature flags are a nice idea, but nobody outside of Facebook seems to be embracing them. https:\/\/news.ycombinator.com\/item?id=15377207. (October 2017)."},{"key":"e_1_3_2_1_20_1","volume-title":"How to set browser flags in Chromium. https:\/\/developer.chrome.com\/blog\/browser-flags\/. (May","author":"Steiner Thomas","year":"2021","unstructured":"Thomas Steiner. 2021. How to set browser flags in Chromium. https:\/\/developer.chrome.com\/blog\/browser-flags\/. (May 2021)."}],"event":{"name":"FSE Companion '25: 33rd ACM International Conference on the Foundations of Software Engineering","sponsor":["SIGSOFT ACM Special Interest Group on Software Engineering"],"location":"Clarion Hotel Trondheim Trondheim Norway","acronym":"FSE Companion '25"},"container-title":["Proceedings of the 33rd ACM International Conference on the Foundations of Software Engineering"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3696630.3728591","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,7,28]],"date-time":"2025-07-28T19:10:51Z","timestamp":1753729851000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3696630.3728591"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,6,23]]},"references-count":20,"alternative-id":["10.1145\/3696630.3728591","10.1145\/3696630"],"URL":"https:\/\/doi.org\/10.1145\/3696630.3728591","relation":{},"subject":[],"published":{"date-parts":[[2025,6,23]]},"assertion":[{"value":"2025-07-28","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}