{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,20]],"date-time":"2026-03-20T01:15:52Z","timestamp":1773969352249,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":38,"publisher":"ACM","license":[{"start":{"date-parts":[[2022,2,22]],"date-time":"2022-02-22T00:00:00Z","timestamp":1645488000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2022,2,22]]},"DOI":"10.1145\/3478431.3499294","type":"proceedings-article","created":{"date-parts":[[2022,2,23]],"date-time":"2022-02-23T00:53:28Z","timestamp":1645577608000},"page":"307-313","source":"Crossref","is-referenced-by-count":37,"title":["Hyperstyle"],"prefix":"10.1145","author":[{"given":"Anastasiia","family":"Birillo","sequence":"first","affiliation":[{"name":"JetBrains Research, Saint Petersburg, Russian Fed."}]},{"given":"Ilya","family":"Vlasov","sequence":"additional","affiliation":[{"name":"Saint Petersburg State University, Saint Petersburg, Russian Fed."}]},{"given":"Artyom","family":"Burylov","sequence":"additional","affiliation":[{"name":"Stepik &amp; Miro, Saint Petersburg, Russian Fed."}]},{"given":"Vitalii","family":"Selishchev","sequence":"additional","affiliation":[{"name":"Computer Science Center, Saint Petersburg, Russian Fed."}]},{"given":"Artyom","family":"Goncharov","sequence":"additional","affiliation":[{"name":"Computer Science Center, Saint Petersburg, Russian Fed."}]},{"given":"Elena","family":"Tikhomirova","sequence":"additional","affiliation":[{"name":"JetBrains Research, Saint Petersburg, Russian Fed."}]},{"given":"Nikolay","family":"Vyahhi","sequence":"additional","affiliation":[{"name":"Stepik, Saint Petersburg, Russian Fed."}]},{"given":"Timofey","family":"Bryksin","sequence":"additional","affiliation":[{"name":"JetBrains Research &amp; Saint Petersburg State University, Saint Petersburg, Russian Fed."}]}],"member":"320","published-online":{"date-parts":[[2022,2,22]]},"reference":[{"key":"e_1_3_2_2_1_1","unstructured":"2021. Artifacts and supplementary material. https:\/\/doi.org\/10.5281\/zenodo. 5749825  2021. Artifacts and supplementary material. https:\/\/doi.org\/10.5281\/zenodo. 5749825"},{"key":"e_1_3_2_2_2_1","unstructured":"2021. Checkstyle. https:\/\/checkstyle.sourceforge.io\/  2021. Checkstyle. https:\/\/checkstyle.sourceforge.io\/"},{"key":"e_1_3_2_2_3_1","unstructured":"2021. Class cohesion measuring tool for Python. https:\/\/github.com\/mschwager\/ cohesion  2021. Class cohesion measuring tool for Python. https:\/\/github.com\/mschwager\/ cohesion"},{"key":"e_1_3_2_2_4_1","unstructured":"2021. Codacy. https:\/\/www.codacy.com\/  2021. Codacy. https:\/\/www.codacy.com\/"},{"key":"e_1_3_2_2_5_1","unstructured":"2021. flake8. https:\/\/flake8.pycqa.org\/en\/latest\/  2021. flake8. https:\/\/flake8.pycqa.org\/en\/latest\/"},{"key":"e_1_3_2_2_6_1","unstructured":"2021. Hyperstyle docker image. https:\/\/hub.docker.com\/r\/stepik\/hyperstyle  2021. Hyperstyle docker image. https:\/\/hub.docker.com\/r\/stepik\/hyperstyle"},{"key":"e_1_3_2_2_7_1","unstructured":"2021. Hyperstyle tool. https:\/\/github.com\/hyperskill\/hyperstyle  2021. Hyperstyle tool. https:\/\/github.com\/hyperskill\/hyperstyle"},{"key":"e_1_3_2_2_8_1","unstructured":"2021. JetBrains Academy. https:\/\/www.jetbrains.com\/academy\/  2021. JetBrains Academy. https:\/\/www.jetbrains.com\/academy\/"},{"key":"e_1_3_2_2_9_1","unstructured":"2021. Maintainability Index. https:\/\/radon.readthedocs.io\/en\/latest\/intro.html# maintainability-index  2021. Maintainability Index. https:\/\/radon.readthedocs.io\/en\/latest\/intro.html# maintainability-index"},{"key":"e_1_3_2_2_10_1","unstructured":"2021. Oracle Java code conventions. https:\/\/www.oracle.com\/java\/technologies\/ javase\/codeconventions-contents.html  2021. Oracle Java code conventions. https:\/\/www.oracle.com\/java\/technologies\/ javase\/codeconventions-contents.html"},{"key":"e_1_3_2_2_11_1","unstructured":"2021. PEP 8 -- Style Guide for Python Code. https:\/\/www.python.org\/dev\/peps\/pep0008\/  2021. PEP 8 -- Style Guide for Python Code. https:\/\/www.python.org\/dev\/peps\/pep0008\/"},{"key":"e_1_3_2_2_12_1","unstructured":"2021. PMD. https:\/\/pmd.github.io\/  2021. PMD. https:\/\/pmd.github.io\/"},{"key":"e_1_3_2_2_13_1","unstructured":"2021. Pylint. https:\/\/www.pylint.org\/  2021. Pylint. https:\/\/www.pylint.org\/"},{"key":"e_1_3_2_2_14_1","unstructured":"2021. Qodana. https:\/\/www.jetbrains.com\/help\/qodana\/getting-started.html  2021. Qodana. https:\/\/www.jetbrains.com\/help\/qodana\/getting-started.html"},{"key":"e_1_3_2_2_15_1","unstructured":"2021. SonarQube. https:\/\/www.sonarqube.org\/  2021. SonarQube. https:\/\/www.sonarqube.org\/"},{"key":"e_1_3_2_2_16_1","unstructured":"2021. Stepik. https:\/\/stepik.org\/  2021. Stepik. https:\/\/stepik.org\/"},{"key":"e_1_3_2_2_17_1","unstructured":"2021. Tutor demo version. https:\/\/www.hkeuning.nl\/rpt\/  2021. Tutor demo version. https:\/\/www.hkeuning.nl\/rpt\/"},{"key":"e_1_3_2_2_18_1","unstructured":"Korhan Akcura Reza Shalchian Abhijit Patil Rattandeep Singh and Jay Tanna. [n.d.]. Static Versus Dynamic Source Code Analysis. ([n. d.]).  Korhan Akcura Reza Shalchian Abhijit Patil Rattandeep Singh and Jay Tanna. [n.d.]. Static Versus Dynamic Source Code Analysis. ([n. d.])."},{"key":"e_1_3_2_2_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/2676723.2677258"},{"key":"e_1_3_2_2_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/2729094.2742622"},{"key":"e_1_3_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/3174781.3174785"},{"key":"e_1_3_2_2_22_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-39583-8_12"},{"key":"e_1_3_2_2_23_1","unstructured":"Martin Fowler. 2018. Refactoring: improving the design of existing code. AddisonWesley Professional.  Martin Fowler. 2018. Refactoring: improving the design of existing code. AddisonWesley Professional."},{"key":"e_1_3_2_2_24_1","doi-asserted-by":"crossref","unstructured":"Ruvo Giuseppe Tempero Ewan Luxton-Reilly Andrew Rowe Gerard and Giacaman Nasser. 2018. Understanding semantic style by analysing student code. 73--82. https:\/\/doi.org\/10.1145\/3160489.3160500  Ruvo Giuseppe Tempero Ewan Luxton-Reilly Andrew Rowe Gerard and Giacaman Nasser. 2018. Understanding semantic style by analysing student code. 73--82. https:\/\/doi.org\/10.1145\/3160489.3160500","DOI":"10.1145\/3160489.3160500"},{"key":"e_1_3_2_2_25_1","volume-title":"Facts and Fallacies of Software Engineering","author":"Glass Robert L","unstructured":"Robert L Glass . 2002. Facts and Fallacies of Software Engineering . Addison-Wesley Professional . Robert L Glass. 2002. Facts and Fallacies of Software Engineering. Addison-Wesley Professional."},{"key":"e_1_3_2_2_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/581376.581377"},{"key":"e_1_3_2_2_27_1","volume-title":"Software vulnerabilities, prevention and detection methods: A review1. Security in model-driven architecture 215995","author":"Jimenez Willy","year":"2009","unstructured":"Willy Jimenez , Amel Mammar , and Ana Cavalli . 2009. Software vulnerabilities, prevention and detection methods: A review1. Security in model-driven architecture 215995 ( 2009 ), 215995. Willy Jimenez, Amel Mammar, and Ana Cavalli. 2009. Software vulnerabilities, prevention and detection methods: A review1. Security in model-driven architecture 215995 (2009), 215995."},{"key":"e_1_3_2_2_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/3059009.3059061"},{"key":"e_1_3_2_2_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/3304221.3319780"},{"key":"e_1_3_2_2_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/3408877.3432526"},{"key":"e_1_3_2_2_31_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.compedu.2010.01.007"},{"key":"e_1_3_2_2_32_1","unstructured":"Robert C Martin. 2009. Clean code: a handbook of agile software craftsmanship. Pearson Education.  Robert C Martin. 2009. Clean code: a handbook of agile software craftsmanship. Pearson Education."},{"key":"e_1_3_2_2_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/2591062.2591161"},{"key":"e_1_3_2_2_34_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE43902.2021.00056"},{"key":"e_1_3_2_2_35_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISSRE.2004.1"},{"key":"e_1_3_2_2_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/3188720"},{"key":"e_1_3_2_2_37_1","unstructured":"Liisa Sakerman. 2021. Overview of the advantages and disadvantages of static code analysis tools. (2021).  Liisa Sakerman. 2021. Overview of the advantages and disadvantages of static code analysis tools. (2021)."},{"key":"e_1_3_2_2_38_1","volume-title":"Proceedings of the 50th ACM Technical Symposium on Computer Science Education. 738--744","author":"Charles Wallace Leo C","year":"2019","unstructured":"Leo C Ureel II and Charles Wallace . 2019 . Automated critique of early programming antipatterns . In Proceedings of the 50th ACM Technical Symposium on Computer Science Education. 738--744 . Leo C Ureel II and Charles Wallace. 2019. Automated critique of early programming antipatterns. In Proceedings of the 50th ACM Technical Symposium on Computer Science Education. 738--744."}],"event":{"name":"SIGCSE 2022: The 53rd ACM Technical Symposium on Computer Science Education","location":"Providence RI USA","acronym":"SIGCSE 2022","sponsor":["SIGCSE ACM Special Interest Group on Computer Science Education"]},"container-title":["Proceedings of the 53rd ACM Technical Symposium on Computer Science Education"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3478431.3499294","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3478431.3499294","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T20:18:26Z","timestamp":1750191506000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3478431.3499294"}},"subtitle":["A Tool for Assessing the Code Quality of Solutions to Programming Assignments"],"short-title":[],"issued":{"date-parts":[[2022,2,22]]},"references-count":38,"alternative-id":["10.1145\/3478431.3499294","10.1145\/3478431"],"URL":"https:\/\/doi.org\/10.1145\/3478431.3499294","relation":{},"subject":[],"published":{"date-parts":[[2022,2,22]]}}}