Compare commits

...

2 Commits

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

@ -0,0 +1,48 @@
\relax
\@writefile{toc}{\contentsline {title}{Search for Structurally Similar Projects of Software Systems}{1}{}\protected@file@percent }
\@writefile{toc}{\authcount {2}}
\@writefile{toc}{\contentsline {author}{Aleksey Filippov \and Julia Stroeva}{1}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{1}{}\protected@file@percent }
\citation{nguyen2018crosssim}
\citation{aleksey2020approach,beniwal2021npmrec,nadezhda2019approach,nguyen2018crosssim,nguyen2020automated}
\citation{ali2011overview}
\citation{chae2013software}
\@writefile{toc}{\contentsline {section}{\numberline {2}State of the art}{2}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3}The Proposed Algorithm for Analyzing the Structure of the Source Code}{2}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {4}The Proposed Algorithm for Determining the Structural Similarity of Software Projects}{3}{}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Sample source code and its AST.}}{4}{}\protected@file@percent }
\newlabel{SourceCodeAndAST}{{1}{4}}
\@writefile{toc}{\contentsline {section}{\numberline {5}Description of the Developed Software System}{4}{}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Deployment diagram.}}{5}{}\protected@file@percent }
\newlabel{DeploymentDiagram}{{2}{5}}
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces An example of the internal representation of the JavaParser library AST.}}{6}{}\protected@file@percent }
\newlabel{JavaParserLibrary}{{3}{6}}
\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces An example of the result of a request to Neo4j.}}{7}{}\protected@file@percent }
\newlabel{ResultOfRequest}{{4}{7}}
\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces System operation example.}}{7}{}\protected@file@percent }
\newlabel{ExampleSystem}{{5}{7}}
\citation{Reviewer-Recommender}
\citation{ref_lncs1}
\citation{ref_book1}
\citation{ref_proc1}
\citation{ref_url1}
\citation{ref_article1,ref_lncs1,ref_book1}
\citation{ref_article1,ref_book1,ref_proc1,ref_url1}
\bibstyle{splncs04}
\bibdata{samplepaper}
\@writefile{toc}{\contentsline {section}{\numberline {6}Experiments}{8}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {7}State of the art}{8}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {7.1}A Subsection Sample}{8}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Sample Heading (Third Level)}{8}{}\protected@file@percent }
\@writefile{toc}{\contentsline {paragraph}{Sample Heading (Fourth Level)}{8}{}\protected@file@percent }
\@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces Table captions should be placed above the tables.}}{8}{}\protected@file@percent }
\newlabel{tab1}{{1}{8}}
\bibcite{aleksey2020approach}{1}
\bibcite{ali2011overview}{2}
\bibcite{beniwal2021npmrec}{3}
\bibcite{chae2013software}{4}
\bibcite{nadezhda2019approach}{5}
\bibcite{nguyen2018crosssim}{6}
\bibcite{nguyen2020automated}{7}
\@writefile{toc}{\contentsline {subsubsection}{Acknowledgements}{9}{}\protected@file@percent }
\gdef \@abspage@last{9}

@ -0,0 +1,90 @@
# Fdb version 3
["bibtex samplepaper"] 1680780419 "samplepaper.aux" "samplepaper.bbl" "samplepaper" 1680780420
"./splncs04.bst" 1521100946 33694 ee21ae2a29028dc8ad842a97200982c7 ""
"samplepaper.aux" 1680780267 3322 7431cce0f2734298e75194cc541b9b25 "pdflatex"
"samplepaper.bib" 1680767232 2675 31c6b7eaccded9d7e7d5c4199d50efdd ""
(generated)
"samplepaper.bbl"
"samplepaper.blg"
["pdflatex"] 1680780265 "c:/Users/stroe/OneDrive/Рабочий стол/LaTeX2e+Proceedings+Templates+download/samplepaper.tex" "samplepaper.pdf" "samplepaper" 1680780420
"DeploymentDiagram.png" 1680775044 34752 8a98b40d81e4fe39ff4cbcf99092dabb ""
"ExampleSystem.png" 1680778178 82836 a220025945fae5bbca7247beae314dc7 ""
"JavaParserLibrary.png" 1680776758 33550 f0999398686b5356af6578df06cf29c3 ""
"ResultOfRequest.png" 1680777975 82994 d1c6a31ba478603b32b71ae3d8554ecc ""
"SourceCodeAndAST.png" 1680769603 156139 73b1e5b62e24ad3398c87dc0df5e0729 ""
"c:/Users/stroe/OneDrive/Рабочий стол/LaTeX2e+Proceedings+Templates+download/samplepaper.tex" 1680780265 20461 1c50f7f96a73dd11cd14f0015dd2be64 ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/enc/dvips/cm-super/cm-super-t1.enc" 1674061660 2971 def0b6c1f0b107b3b936def894055589 ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/enc/dvips/cm-super/cm-super-ts1.enc" 1674061660 2900 1537cc8184ad1792082cd229ecc269f4 ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/map/fontname/texfonts.map" 1674062587 3524 cb3e574dea2d1052e39280babc910dc8 ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/jknappen/ec/ecbx0900.tfm" 1674062266 3584 1a7de6c99457381c64abc1a7c545505f ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/jknappen/ec/ecbx1000.tfm" 1674062266 3584 2d666ecf6d466d8b007246bc2f94d9da ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/jknappen/ec/ecbx1200.tfm" 1674062266 3584 402da0b29eafbad07963b1224b222f18 ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/jknappen/ec/ecbx1440.tfm" 1674062266 3584 13049b61b922a28b158a38aeff75ee9b ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/jknappen/ec/ecrm0500.tfm" 1674062266 3584 178baad7ffca7f5d3428a83bd7cc64c3 ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/jknappen/ec/ecrm0700.tfm" 1674062266 3584 cf973739aac7ab6247f9150296af7954 ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/jknappen/ec/ecrm0900.tfm" 1674062266 3584 d3d8ac8b25ca19c0a40b86a5db1e8ccc ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/jknappen/ec/ecrm1000.tfm" 1674062266 3584 adb004a0c8e7c46ee66cad73671f37b4 ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/jknappen/ec/ecrm1200.tfm" 1674062266 3584 f80ddd985bd00e29e9a6047ebd9d4781 ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/jknappen/ec/ecrm1440.tfm" 1674062266 3584 3169d30142b88a27d4ab0e3468e963a2 ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/jknappen/ec/ecti0900.tfm" 1674062266 3072 a603fa6d934ebc72197ed1c389943d86 ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/jknappen/ec/ecti1000.tfm" 1674062266 3072 3bce340d4c075dffe6d4ec732b4c32fe ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/jknappen/ec/tcrm0900.tfm" 1674062267 1536 c4f439db76ef96a9c53bc437f35ffe20 ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/jknappen/ec/tcrm1000.tfm" 1674062267 1536 e07581a4bb3136ece9eeb4c3ffab8233 ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm" 1674061115 1004 54797486969f23fa377b128694d548df ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex9.tfm" 1674061115 996 a18840b13b499c08ac2de96a99eda4bc ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/public/cm/cmmi6.tfm" 1674061646 1512 f21f83efb36853c0b70002322c1ab3ad ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/public/cm/cmmi9.tfm" 1674061646 1524 d89e2d087a9828407a196f428428ef4a ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/public/cm/cmr6.tfm" 1674061646 1300 b62933e007d01cfd073f79b963c01526 ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/public/cm/cmr9.tfm" 1674061646 1292 6b21b9c2c7bebb38aa2273f7ca0fb3af ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/public/cm/cmsy6.tfm" 1674061646 1116 933a60c408fc0a863a92debe84b2d294 ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/public/cm/cmsy9.tfm" 1674061646 1116 25a7bf822c58caf309a702ef79f4afbb ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmex10.pfb" 1674061115 30251 6afa5cb1d0204815a708a080681d4674 ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb" 1674061115 36299 5f9df58c2139e7edcf37c8fca4bd384d ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi7.pfb" 1674061115 36281 c355509802a035cadc5f15869451dcee ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb" 1674061116 35752 024fb6c41858982481f6968b5fc26508 ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmr7.pfb" 1674061116 32762 7fee39e011c23b3589931effd97b9702 ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb" 1674061116 32569 5e5ddc8df908dea60932f3c484a54c0d ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy7.pfb" 1674061116 32716 08e384dc442464e7285e891af9f45947 ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/cm-super/sfbx0900.pfb" 1674061660 143961 fe73b0de40bc9eebafe5b31a39c455e0 ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/cm-super/sfbx1000.pfb" 1674061660 145408 bcd327f112f643a875638eafb48d1d8b ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/cm-super/sfbx1200.pfb" 1674061660 140176 d0f50dba675c56d445f84a32c1f93a79 ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/cm-super/sfbx1440.pfb" 1674061660 135942 aecb5af344df420d6ec421db27dedf62 ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/cm-super/sfrm0900.pfb" 1674061660 149037 59d73c34fca02636f548728608edd111 ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/cm-super/sfrm1000.pfb" 1674061660 138258 6525c253f16cededa14c7fd0da7f67b2 ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/cm-super/sfti0900.pfb" 1674061660 183673 ea5e125e12bf9824c40173f585331662 ""
"c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/cm-super/sfti1000.pfb" 1674061660 186554 2eb6bd25fc5e008c37b6575e4923fdc7 ""
"c:/texlive-2022/texlive/2022/texmf-dist/tex/context/base/mkii/supp-pdf.mkii" 1674063819 71627 94eb9990bed73c364d7f53f960cc8c5b ""
"c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsbsy.sty" 1674061119 2222 da905dc1db75412efd2d8f67739f0596 ""
"c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsgen.sty" 1674061119 4173 bc0410bcccdff806d6132d3c1ef35481 ""
"c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsmath.sty" 1674061119 87648 07fbb6e9169e00cb2a2f40b31b2dbf3c ""
"c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsopn.sty" 1674061119 4128 8eea906621b6639f7ba476a472036bbe ""
"c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amstext.sty" 1674061119 2444 926f379cc60fcf0c6e3fee2223b4370d ""
"c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/base/article.cls" 1674063230 20144 8a7de377ae7a11ee924a7499611f5a9d ""
"c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/base/fontenc.sty" 1674063230 4946 461cc78f6f26901410d9f1d725079cc6 ""
"c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/base/size10.clo" 1674063230 8448 96f18c76bf608a36ee6fbf021ac1dd32 ""
"c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty" 1674062358 13886 d1306dcf79a944f6988e688c1785f9ce ""
"c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics-cfg/graphics.cfg" 1674062770 1224 978390e9c2234eab29404bc21b268d1e ""
"c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics-def/pdftex.def" 1674062771 19103 48d29b6e2a64cb717117ef65f107b404 ""
"c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/graphics.sty" 1674062769 18399 7e40f80366dffb22c0e7b70517db5cb4 ""
"c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/graphicx.sty" 1674062769 7996 a8fb260d598dcaf305a7ae7b9c3e3229 ""
"c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/keyval.sty" 1674062769 2671 4de6781a30211fe0ea4c672e4a2a8166 ""
"c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/trig.sty" 1674062769 4009 187ea2dc3194cd5a76cd99a8d7a6c4d0 ""
"c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def" 1674063204 29921 d0acc05a38bd4aa3af2017f0b7c137ce ""
"c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg" 1674063295 678 4792914a8f45be57bb98413425e4c7af ""
"c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/listings/listings.cfg" 1674063399 1830 e31effa752c61538383451ae21332364 ""
"c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/listings/listings.sty" 1674063399 80964 64e57373f36316e4a09b517cbf1aba2e ""
"c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/listings/lstmisc.sty" 1674063399 77022 ee25ce086f4a79d8cf73bac6f94c02a5 ""
"c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/oberdiek/aliascnt.sty" 1674064020 2652 813491e2bc95c1dafbb39cd7c54b380b ""
"c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/tools/multicol.sty" 1674064981 32262 2bb622a0aa56c4a7a5cbdfe9d122c15a ""
"c:/texlive-2022/texlive/2022/texmf-dist/web2c/texmf.cnf" 1674061022 40171 cdab547de63d26590bebb3baff566530 ""
"c:/texlive-2022/texlive/2022/texmf-var/fonts/map/pdftex/updmap/pdftex.map" 1674065277 4448432 3180f7519c4fd37c9114c15734e7ca46 ""
"c:/texlive-2022/texlive/2022/texmf-var/web2c/pdftex/pdflatex.fmt" 1674065407 2826488 83ea1af50f0b64fc3d7a33cfebec34f5 ""
"c:/texlive-2022/texlive/2022/texmf.cnf" 1674065251 835 15d98ed9a7362f0ac2a0fb81928d01a3 ""
"llncs.cls" 1662359260 43530 5c930e3a884976fbd3796e3ab18cc1af ""
"samplepaper.aux" 1680780267 3322 7431cce0f2734298e75194cc541b9b25 "pdflatex"
"samplepaper.bbl" 1680780420 2152 390c6e65c8c1107b79dc586b5fafd8ee "bibtex samplepaper"
"samplepaper.tex" 1680780265 20461 1c50f7f96a73dd11cd14f0015dd2be64 ""
(generated)
"samplepaper.aux"
"samplepaper.log"
"samplepaper.pdf"

@ -0,0 +1,304 @@
PWD c:/Users/stroe/OneDrive/Рабочий стол/LaTeX2e+Proceedings+Templates+download
INPUT c:/texlive-2022/texlive/2022/texmf.cnf
INPUT c:/texlive-2022/texlive/2022/texmf-dist/web2c/texmf.cnf
INPUT c:/texlive-2022/texlive/2022/texmf-var/web2c/pdftex/pdflatex.fmt
INPUT c:/Users/stroe/OneDrive/Рабочий стол/LaTeX2e+Proceedings+Templates+download/samplepaper.tex
OUTPUT samplepaper.log
INPUT ./llncs.cls
INPUT ./llncs.cls
INPUT llncs.cls
INPUT ./llncs.cls
INPUT ./llncs.cls
INPUT ./llncs.cls
INPUT ./llncs.cls
INPUT ./llncs.cls
INPUT llncs.cls
INPUT ./llncs.cls
INPUT llncs.cls
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/base/article.cls
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/base/article.cls
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/base/article.cls
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/base/article.cls
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/base/article.cls
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/base/article.cls
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/base/article.cls
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/base/article.cls
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/base/article.cls
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/base/article.cls
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/base/article.cls
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/base/size10.clo
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/base/size10.clo
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/base/size10.clo
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/base/size10.clo
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/tools/multicol.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/tools/multicol.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/tools/multicol.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/tools/multicol.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/tools/multicol.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/tools/multicol.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/tools/multicol.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/tools/multicol.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/tools/multicol.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/tools/multicol.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/tools/multicol.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/oberdiek/aliascnt.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/oberdiek/aliascnt.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/oberdiek/aliascnt.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/oberdiek/aliascnt.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/oberdiek/aliascnt.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/oberdiek/aliascnt.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/oberdiek/aliascnt.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/oberdiek/aliascnt.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/oberdiek/aliascnt.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/oberdiek/aliascnt.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/oberdiek/aliascnt.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/base/fontenc.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/base/fontenc.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/base/fontenc.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/base/fontenc.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/base/fontenc.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/base/fontenc.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/base/fontenc.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/base/fontenc.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/base/fontenc.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/base/fontenc.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/base/fontenc.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/map/fontname/texfonts.map
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/jknappen/ec/ecrm1000.tfm
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsmath.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsmath.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsmath.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsmath.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsmath.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsmath.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsmath.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsmath.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsmath.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsmath.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsmath.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsopn.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsopn.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amstext.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amstext.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amstext.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amstext.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amstext.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amstext.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amstext.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amstext.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amstext.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amstext.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amstext.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsbsy.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsbsy.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsbsy.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsbsy.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsbsy.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsbsy.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsbsy.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsbsy.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsbsy.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsbsy.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsbsy.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsopn.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsopn.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsopn.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsopn.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsopn.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsopn.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsopn.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsopn.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsopn.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsopn.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsopn.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/graphicx.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/graphicx.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/graphicx.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/graphicx.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/graphicx.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/graphicx.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/graphicx.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/graphicx.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/graphicx.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/graphicx.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/graphicx.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/keyval.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/keyval.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/keyval.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/keyval.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/keyval.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/keyval.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/keyval.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/keyval.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/keyval.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/keyval.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/keyval.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/graphics.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/graphics.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/graphics.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/graphics.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/graphics.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/graphics.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/graphics.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/graphics.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/graphics.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/graphics.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/graphics.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/trig.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/trig.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/trig.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/trig.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/trig.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/trig.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/trig.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/trig.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/trig.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/trig.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/trig.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics-def/pdftex.def
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics-def/pdftex.def
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics-def/pdftex.def
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics-def/pdftex.def
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/listings/listings.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/listings/listings.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/listings/listings.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/listings/listings.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/listings/listings.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/listings/listings.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/listings/listings.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/listings/listings.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/listings/listings.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/listings/listings.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/listings/listings.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/keyval.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/listings/lstmisc.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/listings/lstmisc.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/listings/lstmisc.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/listings/lstmisc.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/listings/listings.cfg
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/listings/listings.cfg
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/listings/listings.cfg
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/listings/listings.cfg
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT ./samplepaper.aux
INPUT samplepaper.aux
INPUT samplepaper.aux
OUTPUT samplepaper.aux
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
INPUT c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/jknappen/ec/ecrm1440.tfm
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/jknappen/ec/ecbx1440.tfm
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/jknappen/ec/ecrm0900.tfm
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/jknappen/ec/ecbx0900.tfm
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/jknappen/ec/tcrm0900.tfm
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/jknappen/ec/ecrm1200.tfm
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/jknappen/ec/ecbx1200.tfm
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/jknappen/ec/ecti1000.tfm
OUTPUT samplepaper.pdf
INPUT c:/texlive-2022/texlive/2022/texmf-var/fonts/map/pdftex/updmap/pdftex.map
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/jknappen/ec/ecrm0700.tfm
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/jknappen/ec/ecrm0500.tfm
INPUT ./SourceCodeAndAST.png
INPUT ./SourceCodeAndAST.png
INPUT SourceCodeAndAST.png
INPUT ./SourceCodeAndAST.png
INPUT ./SourceCodeAndAST.png
INPUT ./DeploymentDiagram.png
INPUT ./DeploymentDiagram.png
INPUT DeploymentDiagram.png
INPUT ./DeploymentDiagram.png
INPUT ./DeploymentDiagram.png
INPUT ./JavaParserLibrary.png
INPUT ./JavaParserLibrary.png
INPUT JavaParserLibrary.png
INPUT ./JavaParserLibrary.png
INPUT ./JavaParserLibrary.png
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/jknappen/ec/ecbx1000.tfm
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/jknappen/ec/tcrm1000.tfm
INPUT ./ResultOfRequest.png
INPUT ./ResultOfRequest.png
INPUT ResultOfRequest.png
INPUT ./ResultOfRequest.png
INPUT ./ResultOfRequest.png
INPUT ./ExampleSystem.png
INPUT ./ExampleSystem.png
INPUT ExampleSystem.png
INPUT ./ExampleSystem.png
INPUT ./ExampleSystem.png
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/public/cm/cmr9.tfm
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/public/cm/cmr6.tfm
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/public/cm/cmmi9.tfm
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/public/cm/cmmi6.tfm
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/public/cm/cmsy9.tfm
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/public/cm/cmsy6.tfm
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex9.tfm
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/tfm/jknappen/ec/ecti0900.tfm
INPUT ./samplepaper.bbl
INPUT samplepaper.bbl
INPUT ./samplepaper.bbl
INPUT samplepaper.bbl
INPUT samplepaper.aux
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/enc/dvips/cm-super/cm-super-t1.enc
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/enc/dvips/cm-super/cm-super-ts1.enc
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmex10.pfb
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi7.pfb
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmr7.pfb
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy7.pfb
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/cm-super/sfbx0900.pfb
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/cm-super/sfbx1000.pfb
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/cm-super/sfbx1200.pfb
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/cm-super/sfbx1440.pfb
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/cm-super/sfrm0900.pfb
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/cm-super/sfrm1000.pfb
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/cm-super/sfti0900.pfb
INPUT c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/cm-super/sfti1000.pfb

@ -0,0 +1,392 @@
This is pdfTeX, Version 3.141592653-2.6-1.40.24 (TeX Live 2022) (preloaded format=pdflatex 2023.1.18) 6 APR 2023 15:24
entering extended mode
restricted \write18 enabled.
file:line:error style messages enabled.
%&-line parsing enabled.
**"c:/Users/stroe/OneDrive/Рабочий Ñ<>Ñол/LaTeX2e+Proceedings+Templates+download/samplepaper.tex"
(c:/Users/stroe/OneDrive/Рабочий Ñ<>Ñол/LaTeX2e+Proceedings+Templates+download/samplepaper.tex
LaTeX2e <2021-11-15> patch level 1
L3 programming layer <2022-02-24> (./llncs.cls
Document Class: llncs 2022/09/05 v2.22
LaTeX document class for Lecture Notes in Computer Science
(c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/base/article.cls
Document Class: article 2021/10/04 v1.4n Standard LaTeX document class
(c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/base/size10.clo
File: size10.clo 2021/10/04 v1.4n Standard LaTeX file (size option)
)
\c@part=\count185
\c@section=\count186
\c@subsection=\count187
\c@subsubsection=\count188
\c@paragraph=\count189
\c@subparagraph=\count190
\c@figure=\count191
\c@table=\count192
\abovecaptionskip=\skip47
\belowcaptionskip=\skip48
\bibindent=\dimen138
) (c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/tools/multicol.sty
Package: multicol 2021/10/28 v1.9b multicolumn formatting (FMi)
\c@tracingmulticols=\count193
\mult@box=\box50
\multicol@leftmargin=\dimen139
\c@unbalance=\count194
\c@collectmore=\count195
\doublecol@number=\count196
\multicoltolerance=\count197
\multicolpretolerance=\count198
\full@width=\dimen140
\page@free=\dimen141
\premulticols=\dimen142
\postmulticols=\dimen143
\multicolsep=\skip49
\multicolbaselineskip=\skip50
\partial@page=\box51
\last@line=\box52
\maxbalancingoverflow=\dimen144
\mult@rightbox=\box53
\mult@grightbox=\box54
\mult@firstbox=\box55
\mult@gfirstbox=\box56
\@tempa=\box57
\@tempa=\box58
\@tempa=\box59
\@tempa=\box60
\@tempa=\box61
\@tempa=\box62
\@tempa=\box63
\@tempa=\box64
\@tempa=\box65
\@tempa=\box66
\@tempa=\box67
\@tempa=\box68
\@tempa=\box69
\@tempa=\box70
\@tempa=\box71
\@tempa=\box72
\@tempa=\box73
\@tempa=\box74
\@tempa=\box75
\@tempa=\box76
\@tempa=\box77
\@tempa=\box78
\@tempa=\box79
\@tempa=\box80
\@tempa=\box81
\@tempa=\box82
\@tempa=\box83
\@tempa=\box84
\@tempa=\box85
\@tempa=\box86
\@tempa=\box87
\@tempa=\box88
\@tempa=\box89
\@tempa=\box90
\@tempa=\box91
\@tempa=\box92
\c@minrows=\count199
\c@columnbadness=\count266
\c@finalcolumnbadness=\count267
\last@try=\dimen145
\multicolovershoot=\dimen146
\multicolundershoot=\dimen147
\mult@nat@firstbox=\box93
\colbreak@box=\box94
\mc@col@check@num=\count268
) (c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/oberdiek/aliascnt.sty
Package: aliascnt 2018/09/07 v1.5 Alias counters (HO)
)
\c@chapter=\count269
LaTeX Font Info: Redeclaring math symbol \Gamma on input line 362.
LaTeX Font Info: Redeclaring math symbol \Delta on input line 363.
LaTeX Font Info: Redeclaring math symbol \Theta on input line 364.
LaTeX Font Info: Redeclaring math symbol \Lambda on input line 365.
LaTeX Font Info: Redeclaring math symbol \Xi on input line 366.
LaTeX Font Info: Redeclaring math symbol \Pi on input line 367.
LaTeX Font Info: Redeclaring math symbol \Sigma on input line 368.
LaTeX Font Info: Redeclaring math symbol \Upsilon on input line 369.
LaTeX Font Info: Redeclaring math symbol \Phi on input line 370.
LaTeX Font Info: Redeclaring math symbol \Psi on input line 371.
LaTeX Font Info: Redeclaring math symbol \Omega on input line 372.
LaTeX Info: Redefining \vec on input line 377.
\tocchpnum=\dimen148
\tocsecnum=\dimen149
\tocsectotal=\dimen150
\tocsubsecnum=\dimen151
\tocsubsectotal=\dimen152
\tocsubsubsecnum=\dimen153
\tocsubsubsectotal=\dimen154
\tocparanum=\dimen155
\tocparatotal=\dimen156
\tocsubparanum=\dimen157
\@tempcntc=\count270
\fnindent=\dimen158
\c@@inst=\count271
\c@@auth=\count272
\c@auco=\count273
\instindent=\dimen159
\authrun=\box95
\authorrunning=\toks16
\tocauthor=\toks17
\titrun=\box96
\titlerunning=\toks18
\toctitle=\toks19
\c@theorem=\count274
\c@case=\count275
\c@conjecture=\count276
\c@corollary=\count277
\c@definition=\count278
\c@example=\count279
\c@exercise=\count280
\c@lemma=\count281
\c@note=\count282
\c@problem=\count283
\c@property=\count284
\c@proposition=\count285
\c@question=\count286
\c@solution=\count287
\c@remark=\count288
\headlineindent=\dimen160
) (c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/base/fontenc.sty
Package: fontenc 2021/04/29 v2.0v Standard LaTeX package
) (c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsmath.sty
Package: amsmath 2021/10/15 v2.17l AMS math features
\@mathmargin=\skip51
For additional information on amsmath, use the `?' option.
(c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amstext.sty
Package: amstext 2021/08/26 v2.01 AMS text
(c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsgen.sty
File: amsgen.sty 1999/11/30 v2.0 generic functions
\@emptytoks=\toks20
\ex@=\dimen161
)) (c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsbsy.sty
Package: amsbsy 1999/11/29 v1.2d Bold Symbols
\pmbraise@=\dimen162
) (c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/amsmath/amsopn.sty
Package: amsopn 2021/08/26 v2.02 operator names
)
\inf@bad=\count289
LaTeX Info: Redefining \frac on input line 234.
\uproot@=\count290
\leftroot@=\count291
LaTeX Info: Redefining \overline on input line 399.
\classnum@=\count292
\DOTSCASE@=\count293
LaTeX Info: Redefining \ldots on input line 496.
LaTeX Info: Redefining \dots on input line 499.
LaTeX Info: Redefining \cdots on input line 620.
\Mathstrutbox@=\box97
\strutbox@=\box98
\big@size=\dimen163
LaTeX Font Info: Redeclaring font encoding OML on input line 743.
LaTeX Font Info: Redeclaring font encoding OMS on input line 744.
Package amsmath Warning: Unable to redefine math accent \vec.
\macc@depth=\count294
\c@MaxMatrixCols=\count295
\dotsspace@=\muskip16
\c@parentequation=\count296
\dspbrk@lvl=\count297
\tag@help=\toks21
\row@=\count298
\column@=\count299
\maxfields@=\count300
\andhelp@=\toks22
\eqnshift@=\dimen164
\alignsep@=\dimen165
\tagshift@=\dimen166
\tagwidth@=\dimen167
\totwidth@=\dimen168
\lineht@=\dimen169
\@envbody=\toks23
\multlinegap=\skip52
\multlinetaggap=\skip53
\mathdisplay@stack=\toks24
LaTeX Info: Redefining \[ on input line 2938.
LaTeX Info: Redefining \] on input line 2939.
) (c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/graphicx.sty
Package: graphicx 2021/09/16 v1.2d Enhanced LaTeX Graphics (DPC,SPQR)
(c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/keyval.sty
Package: keyval 2014/10/28 v1.15 key=value parser (DPC)
\KV@toks@=\toks25
) (c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/graphics.sty
Package: graphics 2021/03/04 v1.4d Standard LaTeX Graphics (DPC,SPQR)
(c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics/trig.sty
Package: trig 2021/08/11 v1.11 sin cos tan (DPC)
) (c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration
)
Package graphics Info: Driver file: pdftex.def on input line 107.
(c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/graphics-def/pdftex.def
File: pdftex.def 2020/10/05 v1.2a Graphics/color driver for pdftex
))
\Gin@req@height=\dimen170
\Gin@req@width=\dimen171
) (c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/listings/listings.sty
\lst@mode=\count301
\lst@gtempboxa=\box99
\lst@token=\toks26
\lst@length=\count302
\lst@currlwidth=\dimen172
\lst@column=\count303
\lst@pos=\count304
\lst@lostspace=\dimen173
\lst@width=\dimen174
\lst@newlines=\count305
\lst@lineno=\count306
\lst@maxwidth=\dimen175
(c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/listings/lstmisc.sty
File: lstmisc.sty 2020/03/24 1.8d (Carsten Heinz)
\c@lstnumber=\count307
\lst@skipnumbers=\count308
\lst@framebox=\box100
) (c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/listings/listings.cfg
File: listings.cfg 2020/03/24 1.8d listings configuration
))
Package: listings 2020/03/24 1.8d (Carsten Heinz)
(c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
File: l3backend-pdftex.def 2022-02-07 L3 backend support: PDF output (pdfTeX)
\l__color_backend_stack_int=\count309
\l__pdf_internal_box=\box101
) (./samplepaper.aux)
\openout1 = `samplepaper.aux'.
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 23.
LaTeX Font Info: ... okay on input line 23.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 23.
LaTeX Font Info: ... okay on input line 23.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 23.
LaTeX Font Info: ... okay on input line 23.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 23.
LaTeX Font Info: ... okay on input line 23.
LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 23.
LaTeX Font Info: ... okay on input line 23.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 23.
LaTeX Font Info: ... okay on input line 23.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 23.
LaTeX Font Info: ... okay on input line 23.
(c:/texlive-2022/texlive/2022/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
\scratchcounter=\count310
\scratchdimen=\dimen176
\scratchbox=\box102
\nofMPsegments=\count311
\nofMParguments=\count312
\everyMPshowfont=\toks27
\MPscratchCnt=\count313
\MPscratchDim=\dimen177
\MPnumerator=\count314
\makeMPintoPDFobject=\count315
\everyMPtoPDFconversion=\toks28
) (c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
Package: epstopdf-base 2020-01-24 v2.11 Base part for package epstopdf
Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 485.
(c:/texlive-2022/texlive/2022/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Live
))
\c@lstlisting=\count316
Overfull \hbox (3.35585pt too wide) in paragraph at lines 50--51
\T1/cmr/bx/n/9 Keywords:\T1/cmr/m/n/9 source code \TS1/cmr/m/n/9 · \T1/cmr/m/n/9 struc-ture anal-y-sis \TS1/cmr/m/n/9 · \T1/cmr/m/n/9 struc-turally sim-i-lar projects
[]
[1
{c:/texlive-2022/texlive/2022/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] [2]
<SourceCodeAndAST.png, id=22, 1158.57843pt x 543.53062pt>
File: SourceCodeAndAST.png Graphic file (type png)
<use SourceCodeAndAST.png>
Package pdftex.def Info: SourceCodeAndAST.png used on input line 129.
(pdftex.def) Requested size: 347.12354pt x 162.8448pt.
[3]
<DeploymentDiagram.png, id=28, 869.49844pt x 349.305pt>
File: DeploymentDiagram.png Graphic file (type png)
<use DeploymentDiagram.png>
Package pdftex.def Info: DeploymentDiagram.png used on input line 168.
(pdftex.def) Requested size: 347.12354pt x 139.45302pt.
[4 <./SourceCodeAndAST.png>]
<JavaParserLibrary.png, id=33, 464.4853pt x 104.64093pt>
File: JavaParserLibrary.png Graphic file (type png)
<use JavaParserLibrary.png>
Package pdftex.def Info: JavaParserLibrary.png used on input line 185.
(pdftex.def) Requested size: 347.12354pt x 78.20267pt.
[5 <./DeploymentDiagram.png>]
<ResultOfRequest.png, id=39, 1191.7022pt x 451.6875pt>
File: ResultOfRequest.png Graphic file (type png)
<use ResultOfRequest.png>
Package pdftex.def Info: ResultOfRequest.png used on input line 229.
(pdftex.def) Requested size: 347.12354pt x 131.56496pt.
<ExampleSystem.png, id=40, 971.12813pt x 412.54124pt>
File: ExampleSystem.png Graphic file (type png)
<use ExampleSystem.png>
Package pdftex.def Info: ExampleSystem.png used on input line 239.
(pdftex.def) Requested size: 347.12354pt x 147.4572pt.
[6 <./JavaParserLibrary.png>] [7 <./ResultOfRequest.png> <./ExampleSystem.png>]
LaTeX Warning: Reference `fig1' on page 8 undefined on input line 307.
LaTeX Warning: Citation `Reviewer-Recommender' on page 8 undefined on input line 330.
LaTeX Warning: Citation `ref_lncs1' on page 8 undefined on input line 330.
LaTeX Warning: Citation `ref_book1' on page 8 undefined on input line 331.
LaTeX Warning: Citation `ref_proc1' on page 8 undefined on input line 331.
LaTeX Warning: Citation `ref_url1' on page 8 undefined on input line 332.
LaTeX Warning: Citation `ref_article1' on page 8 undefined on input line 333.
LaTeX Warning: Citation `ref_lncs1' on page 8 undefined on input line 333.
LaTeX Warning: Citation `ref_book1' on page 8 undefined on input line 333.
LaTeX Warning: Citation `ref_article1' on page 8 undefined on input line 334.
LaTeX Warning: Citation `ref_book1' on page 8 undefined on input line 334.
LaTeX Warning: Citation `ref_proc1' on page 8 undefined on input line 334.
LaTeX Warning: Citation `ref_url1' on page 8 undefined on input line 334.
(./samplepaper.bbl [8]
Underfull \hbox (badness 10000) in paragraph at lines 7--13
[]\T1/cmr/m/n/9 Aleksey Alekun-drovich, F., Yure-vich, G.G., Alek-sey Michailovich, N.,
[]
) [9] (./samplepaper.aux)
LaTeX Warning: There were undefined references.
)
Here is how much of TeX's memory you used:
4363 strings out of 478268
62345 string characters out of 5847850
374082 words of memory out of 5000000
22544 multiletter control sequences out of 15000+600000
481729 words of font info for 52 fonts, out of 8000000 for 9000
1141 hyphenation exceptions out of 8191
55i,9n,62p,738b,1006s stack positions out of 10000i,1000n,20000p,200000b,200000s
{c:/texlive-2022/texlive/2022/texmf-dist/fonts/enc/dvips/cm-super/cm-super-t1.enc}{c:/texlive-2022/texlive/2022/texmf-dist/fonts/enc/dvips/cm-super/cm-super-ts1.enc}<c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmex10.pfb><c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb><c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi7.pfb><c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb><c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmr7.pfb><c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb><c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy7.pfb><c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/cm-super/sfbx0900.pfb><c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/cm-super/sfbx1000.pfb><c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/cm-super/sfbx1200.pfb><c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/cm-super/sfbx1440.pfb><c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/cm-super/sfrm0900.pfb><c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/cm-super/sfrm1000.pfb><c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/cm-super/sfti0900.pfb><c:/texlive-2022/texlive/2022/texmf-dist/fonts/type1/public/cm-super/sfti1000.pfb>
Output written on samplepaper.pdf (9 pages, 607735 bytes).
PDF statistics:
127 PDF objects out of 1000 (max. 8388607)
74 compressed objects within 1 object stream
0 named destinations out of 1000 (max. 500000)
26 words of extra memory for PDF output out of 10000 (max. 10000000)

Binary file not shown.

Binary file not shown.

@ -11,6 +11,7 @@
%
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{listings}
% Used for displaying a sample figure. If possible, figure files should
% be included in EPS format.
%
@ -92,7 +93,7 @@ where $N = \lbrace N_{1}, N_{2},\ldots, N_{n}\rbrace$ is the set of nodes AST;
$N_{i} = \langle name, data \rangle$ is an i-th AST node containing the node name, node data;
R is the set of relations between AST nodes.
$R$ is the set of relations between AST nodes.
We developed an algorithm to highlight the structure of the project in analyzing the source code, which comprises the following steps:
@ -122,11 +123,11 @@ We developed an algorithm to highlight the structure of the project in analyzing
\item Save the resulting AST in a graph database (GDB) to facilitate data handling.
\end{enumerate}
Figure \ref{fig1} shows an example of the source code and the ASD got for it.
Figure \ref{SourceCodeAndAST} shows an example of the source code and the ASD got for it.
\begin{figure}
\includegraphics[width=\textwidth]{SourceCodeAndAST.png}
\caption{Sample source code and its AST.} \label{fig1}
\caption{Sample source code and its AST.} \label{SourceCodeAndAST}
\end{figure}
GDB is a non-relational type of database based on the topographic structure of the network. Graphs represent sets of data as nodes, edges, and properties. Relational databases provide a structured approach to data. GDBs are more flexible and focused on fast data acquisition, considering various types of links between them.
@ -135,6 +136,111 @@ We used Neo4j as the GDB, since this system has a high speed of operation even w
\section{The Proposed Algorithm for Determining the Structural Similarity of Software Projects}
The determination of the structural similarity of projects is based on the use of a hashing algorithm. We use a hash function to collapse an input array of any size into string.
It is necessary to get the values of the AST hash function of the analyzed project:
\begin{enumerate}
\item Get fragments (paths) of the AST graph from the root node of the graph tree to each node of the graph.
\item We extract the distinguishing property of each node (type) in the current fragment.
\item We passed the type of the node to the hash function. The result is an output string of a certain length.
\item If fragment \textit{A} contains hash \textit{H} and fragment \textit{B} contains hash H, then we can say that fragments \textit{A} and \textit{B} have similarity in one node.
\item If fragment \textit{A} contains hash \textit{H}, and fragment \textit{B} does not contain hash \textit{H}, then fragments \textit{A} and \textit{B} do not have similar nodes.
\end{enumerate}
We calculate the hash function values using the Neo4j GDB using the md5 algorithm.
Thus, the number of matching hash values affects the uniqueness and borrowing rates of code in a project. The following expression is used to calculate project originality:
\begin{equation*}
O = \frac {H^{C} \notin H}{H^{C}},
\end{equation*}
where $H^{C}$ is the set of values of the hash function of the current project;
$H$ is the set of hash values of other projects in the system.
\section{Description of the Developed Software System}
Figure \ref{DeploymentDiagram} shows the developed software system. The system comprises three nodes, which are on different nodes of the computer network.
\begin{figure}
\includegraphics[width=\textwidth]{DeploymentDiagram.png}
\caption{Deployment diagram.} \label{DeploymentDiagram}
\end{figure}
Users interact with the web client on the \textit{Frontend} node. The \textit{Backend} node performs the main business logic for implementing the proposed approach in searching for structurally similar projects. \textit{Backend} and \textit{Frontend} nodes communicate through an API. The GDB is on the \textit{Database} node and provides a saving of project data.
The developed software system represents a web application using a client-server architecture. The web client sends requests to the server, the server processes the requests and returns responses to the web client.
The web client is an application written in JavaScript using the Vue js framework. Vue.js is a framework for developing single page applications and web interfaces. The main advantages of this framework are its lightness (small size of the library in lines of code), performance, flexibility, and excellent documentation.
We implement the server part of the application in Java using the Spring Boot framework. The Spring framework is a whole ecosystem for developing applications in the Java language, which includes a huge number of ready-made modules. Spring Boot extends the Spring framework. The main advantages of this framework include speed and ease of development, auto-configuration of all components, easy access to databases and network capabilities.
The current version of the software system only supports source code analysis in the Java. The JavaParser library is used to form an AST in the process of Java code analysis. This library allows you to build an internal representation of the AST, which is then translated into the proposed AST model using the previously discussed algorithm.
Figure \ref{JavaParserLibrary} shows an example of the internal representation of the AST in the JavaParser library.
\begin{figure}
\includegraphics[width=\textwidth]{JavaParserLibrary.png}
\caption{An example of the internal representation of the JavaParser library AST.} \label{JavaParserLibrary}
\end{figure}
We used neo4j GDB for data storage. Possibly redundant expression GDBs over relational ones is the ability to change the data model.
The GDB data model allows you to store the following nodes:
\begin{itemize}
\item nodes with type “Package” (Java-specific);
\item nodes with type “Class”;
\item nodes with the “Class field” type;
\item nodes with type “Method”;
\item nodes with type “Method argument”;
\item nodes with type “Operator”.
\end{itemize}
We arrange the nodes in the GDB hierarchically. For example, a class is in a package, but a method is in a class. The data model allows you to form the following relationships between graph nodes:
\begin{itemize}
\item $HAS_CLASS$ is a relationship between a package and a class;
\item $HAS_FIELD$ is a relationship between a class and a class field;
\item $HAS_METHOD$ is a is a link between a class and a method;
\item $HAS_ARG$ is a relationship between method and method argument;
\item $HAS_BLOCK$ is a link between a method and a statement.
\end{itemize}
The main idea of searching for structurally similar projects is to use hashing of graph fragments (paths) based on the md5 function. We formed the path from the root node to each node of the graph. We take nesting into account when forming the path (package -> class -> field / method -> method argument / operator). The hash function takes the string representation of the node type as input.
Example of a request to get paths and a hash that matches this path:
\begin{lstlisting}
MATCH p = (o{name:"root"})-[r*]- ()
WHERE ID(o)={0}
WITH [x in nodes(p) | CASE WHEN EXISTS(x.name)
THEN x.name ELSE x.type END] as names,
[x in nodes(p) | ID(x)] as ids
WITH names, apoc.util.md5(names) as hash, ids
RETURN names, hash, ids
\end{lstlisting}
Figure \ref{ResultOfRequest} shows the result of the query execution.
\begin{figure}
\includegraphics[width=\textwidth]{ResultOfRequest.png}
\caption{An example of the result of a request to Neo4j.} \label{ResultOfRequest}
\end{figure}
Figure \ref{ResultOfRequest} shows that the hash \textit{"b199ef8568f72c43f6fd50860e228c51"} matches the path \textit{[“root”, “cont”]}. Two graphs contain this hash. The primary keys of the root nodes of these graphs are 7872 and 7977.
Thus, we can discover the number of matching and different paths in the analyzed projects by obtaining hashes for all AST fragments. Figure \ref{ExampleSystem} shows an example of the developed system.
\begin{figure}
\includegraphics[width=\textwidth]{ExampleSystem.png}
\caption{System operation example.} \label{ExampleSystem}
\end{figure}
\section{Experiments}
% -----------------------------------------

Loading…
Cancel
Save