22-2 ~ 23-1 Winter Vacation

01/16/2023

Had a weekly meeting, mainly discussed about how SC was doing. Also learned a lot while reviewing the big picture of APR and FL.

  • The reason FL is needed is because the “buggy lines” are usually not the actual faulty line.

Additionally, JC taught us about AST (Abstract Syntax Tree). This is needed because it makes the process of extracting a matrix (feature) from source / byte code easier. drawing

As it is shown in the image, all requirements of the language (e.g. Java) are separated into various sections (somtimes recursion happens!). For example, if an AST is used to extract the data of local variables from the BNF, then it can get the entire data by finding the root of <class member declaration> -> <method declaration> or <field declaration>.

Q. Are there programs that construct AST from source code? A. Yes. They are called Parsers.

Realizing more and more, questioning is the best, if not the most effective, way of learning.