On the Use of FCA Models in Static Analysis Tools to Detect Common Errors in Programming

被引:2
|
作者
Cristea, Diana [1 ]
Sotropa, Diana [1 ]
Molnar, Arthur-Jozsef [1 ]
Motogna, Simona [1 ]
机构
[1] Babes Bolyai Univ, Cluj Napoca, Romania
关键词
Formal concept analysis; Static code analysis; Computer science education;
D O I
10.1007/978-3-030-86982-3_1
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Static code analysis is widely used to detect code quality issues before execution. Thus, it can provide information that is important for improving programming skills. Such tools have been successfully used in teaching programming courses. In this paper we present algorithms for combining Formal Concept Analysis (FCA) with Pylint, a static code analysis tool, in order to detect and assess behavioral patterns in students' programming styles. We design a generalized framework that can be subsequently used to analyze any category/subset of errors. We apply the approach for detecting common errors related to design by considering two scenarios that tackle object oriented design and increased code complexity. We argue how the results can be used to understand common mistakes and to improve the teaching content and methods.
引用
收藏
页码:3 / 18
页数:16
相关论文
共 34 条
  • [1] Using Static Analysis to Detect Type Errors and Concurrency Defects in Erlang Programs
    Sagonas, Konstantinos
    [J]. FUNCTIONAL AND LOGIC PROGRAMMING, PROCEEDINGS, 2010, 6009 : 13 - 18
  • [2] ANALYSIS OF AGGREGATION ERRORS IN LINEAR-PROGRAMMING PLANNING MODELS
    EGBERT, AC
    KIM, HM
    [J]. AMERICAN JOURNAL OF AGRICULTURAL ECONOMICS, 1975, 57 (02) : 292 - 301
  • [3] An Easy to Use Infrastructure for Building Static Analysis Tools
    Dudka, Kamil
    Peringer, Petr
    Vojnar, Tomas
    [J]. COMPUTER AIDED SYSTEMS THEORY - EUROCAST 2011, PT I, 2012, 6927 : 527 - 534
  • [4] USING STATIC ANALYSIS TOOLS FOR ANALYZING STUDENT BEHAVIOR IN AN INTRODUCTORY PROGRAMMING COURSE
    Albluwi, Ibrahim
    Salter, Joseph
    [J]. JORDANIAN JOURNAL OF COMPUTERS AND INFORMATION TECHNOLOGY, 2020, 6 (03): : 215 - 233
  • [5] SENSITIVITY ANALYSIS IN LINEAR-PROGRAMMING MODELS WITH COMMON INPUTS
    CAMM, JD
    BURWELL, TH
    [J]. DECISION SCIENCES, 1991, 22 (03) : 512 - 518
  • [6] Linear Programming Models: Identifying Common Errors in Engineering Students' Work with Complex Word Problems
    Kenney, Rachael
    An, Tuyin
    Kim, Sung-Hee
    Uhan, Nelson A.
    Yi, Ji Soo
    Shamsul, Aiman
    [J]. INTERNATIONAL JOURNAL OF SCIENCE AND MATHEMATICS EDUCATION, 2020, 18 (04) : 635 - 655
  • [7] Linear Programming Models: Identifying Common Errors in Engineering Students’ Work with Complex Word Problems
    Rachael Kenney
    Tuyin An
    Sung-Hee Kim
    Nelson A. Uhan
    Ji Soo Yi
    Aiman Shamsul
    [J]. International Journal of Science and Mathematics Education, 2020, 18 : 635 - 655
  • [8] The Use of NLP Techniques in Static Code Analysis to Detect Weaknesses and Vulnerabilities
    Mokhov, Serguei A.
    Paquet, Joey
    Debbabi, Mourad
    [J]. ADVANCES IN ARTIFICIAL INTELLIGENCE, CANADIAN AI 2014, 2014, 8436 : 326 - 332
  • [9] Static analysis based on formal models and incremental computation in Go programming
    Nakamura, K
    [J]. THEORETICAL COMPUTER SCIENCE, 2005, 349 (02) : 184 - 201
  • [10] Prioritizing Alerts from Multiple Static Analysis Tools, using Classification Models
    Flynn, Lori
    Snavely, William
    Svoboda, David
    VanHoudnos, Nathan
    Burns, Richard Qin Jennifer
    Zubrow, David
    Stoddard, Robert
    Marce-Santurio, Guillermo
    [J]. 2018 IEEE/ACM 1ST INTERNATIONAL WORKSHOP ON SOFTWARE QUALITIES AND THEIR DEPENDENCIES (SQUADE), 2018, : 13 - 20