Home » Eclipse Projects » Eclipse Titan » Some Titan project statistics(cloc TTCN-3 *.tpd)
Some Titan project statistics [message #1780254] |
Fri, 19 January 2018 10:56 |
|
Dear all,
in case you are interested about some vital statistics of the Eclipse Titan project,
this page:
https://www.openhub.net/p/eclipse_titan/
will offer you a good summary.
Statistics are run peridocally over all repositories that are part of the project, listed here:
https://www.openhub.net/p/eclipse_titan/enlistments
(currently 95 repositories, partly in Github, partly in Eclipse Git)
As an example, the evolution of nr. of commits over time looks like this:
The scanner also attempts to chart the language distribution of the project:
According to this figure the project is roughly 1/3 Java, 1/3 C++ and 1/3 C.
First of all bear in mind that this is over all repositories (compiler, Eclipse plug-ins, test ports, protocol modules etc)
Secondly , the scanner is agnostic to the TTCN-3 language and identifies it as C (or maybe C++)
If one is interested in statistics per repository , I would recommend using the Cloc tool described here:
https://www.shanebart.com/cloc-count-lines-of-code/
and available here:
https://github.com/AlDanial/cloc
Interestingly , cloc is TTCN-3 aware ( what is more , it recognizes Titan project descriptor (*.tpd ) ) files:
perl cloc-1.74.pl --version
1.74
perl cloc-1.74.pl --show-lang
ABAP (abap)
ActionScript (as)
Ada (ada, adb, ads, pad)
ADSO/IDSM (adso)
AMPLE (ample, dofile, startup)
Ant (build.xml, build.xml)
ANTLR Grammar (g, g4)
Apex Trigger (trigger)
Arduino Sketch (ino, pde)
ASP (asa, asp)
ASP.NET (asax, ascx, asmx, aspx, master, sitemap, webinfo)
AspectJ (aj)
Assembly (asm, s, S)
AutoHotkey (ahk)
awk (awk)
Blade (blade.php)
Bourne Again Shell (bash)
Bourne Shell (sh)
BrightScript (brs)
builder (xml.builder)
C (c, ec, pgc)
C Shell (csh, tcsh)
C# (cs)
C++ (C, c++, cc, CPP, cpp, cxx, pcc)
C/C++ Header (h, H, hh, hpp, hxx)
CCS (ccs)
Clean (dcl, icl)
Clojure (clj)
ClojureC (cljc)
ClojureScript (cljs)
CMake (cmake, CMakeLists.txt)
COBOL (cbl, CBL, cob, COB)
CoffeeScript (coffee)
ColdFusion (cfm)
ColdFusion CFScript (cfc)
Coq (v)
Crystal (cr)
CSON (cson)
CSS (css)
Cucumber (feature)
CUDA (cu, cuh)
Cython (pyx)
D (d)
DAL (da)
Dart (dart)
diff (diff)
DITA (dita)
DOORS Extension Language (dxl)
DOS Batch (BAT, bat, BTM, btm, cmd, CMD)
Drools (drl)
DTD (dtd)
dtrace (d)
ECPP (ecpp)
EEx (eex)
Elixir (ex, exs)
Elm (elm)
ERB (ERB, erb)
Erlang (erl, hrl)
Expect (exp)
F# (fsi, fs, fs)
F# Script (fsx)
Focus (focexec)
Forth (4th, e4, f83, fb, forth, fpm, fr, frt, ft, fth, rx, fs, f, for)
Fortran 77 (F, F77, f77, FOR, FTN, ftn, pfo, f, for)
Fortran 90 (F90, f90)
Fortran 95 (F95, f95)
Freemarker Template (ftl)
GDScript (gd)
Glade (glade, ui)
GLSL (comp, frag, geom, glsl, tesc, tese, vert)
Go (go)
Grails (gsp)
GraphQL (gql, graphql)
Groovy (gant, gradle, groovy)
Haml (haml)
Handlebars (handlebars, hbs)
Harbour (hb)
Haskell (hs, lhs)
Haxe (hx)
HLSL (cg, cginc, hlsl, shader)
HTML (htm, html)
IDL (idl, pro)
Idris (idr)
INI (ini)
InstallShield (ism)
Java (java)
JavaScript (es6, js)
JavaServer Faces (jsf)
JCL (jcl)
JSON (json)
JSP (jsp, jspf)
JSX (jsx)
Julia (jl)
Kermit (ksc)
Korn Shell (ksh)
Kotlin (kt, kts)
LESS (less)
lex (l)
LFE (lfe)
liquid (liquid)
Lisp (asd, el, lisp, lsp, cl, jl)
Literate Idris (lidr)
LiveLink OScript (oscript)
Logtalk (lgt, logtalk)
Lua (lua)
m4 (ac, m4)
make (am, gnumakefile, Gnumakefile, makefile, Makefile, mk)
Mako (mako)
Markdown (md)
Mathematica (mt, wl, wlt, m)
MATLAB (m)
Maven (pom, pom.xml)
Modula3 (i3, ig, m3, mg)
MSBuild script (csproj, vbproj, vcproj, wdproj, wixproj)
MUMPS (mps, m)
Mustache (mustache)
MXML (mxml)
NAnt script (build)
NASTRAN DMAP (dmap)
Nemerle (n)
Nim (nim)
Objective C (m)
Objective C++ (mm)
OCaml (ml, mli, mll, mly)
OpenCL (cl)
Oracle Forms (fmt)
Oracle Reports (rex)
Pascal (dpr, p, pas)
Pascal/Puppet (pp)
Patran Command Language (pcl, ses)
Perl (perl, plh, plx, pm, pm6, pl)
PHP (php, php3, php4, php5, phtml)
PHP/Pascal (inc)
Pig Latin (pig)
PL/I (pl1)
PO File (po)
PowerBuilder (sra, srf, srm, srs, sru, srw)
PowerShell (ps1, psd1, psm1)
Prolog (P, pl, pro)
Protocol Buffers (proto)
Pug (pug)
PureScript (purs)
Python (py)
QML (qml)
Qt (ui)
Qt Linguist (ts)
Qt Project (pro)
R (r, R)
Racket (rkt, rktl, scrbl)
RapydScript (pyj)
Razor (cshtml)
Rexx (rexx)
RobotFramework (robot, tsv)
Ruby (rake, rb)
Ruby HTML (rhtml)
Rust (rs)
SAS (sas)
Sass (sass, scss)
Scala (scala)
Scheme (sc, sch, scm, sld, sls, ss)
sed (sed)
SKILL (il)
SKILL++ (ils)
Slice (ice)
Slim (slim)
Smalltalk (st, cs)
Smarty (smarty, tpl)
Softbridge Basic (sbl, SBL)
Solidity (sol)
Specman e (e)
SQL (psql, sql, SQL)
SQL Data (data.sql)
SQL Stored Procedure (spc.sql, spoc.sql, sproc.sql, udf.sql)
Standard ML (fun, sig, sml)
Stata (DO, do)
Stylus (styl)
Swift (swift)
Tcl/Tk (itk, tcl, tk)
Teamcenter met (met)
Teamcenter mth (mth)
TeX (bst, dtx, sty, tex)
TITAN Project File Information (tpd)
Titanium Style Sheet (tss)
TOML (toml)
TTCN (ttcn, ttcn2, ttcn3, ttcnpp)
Twig (twig)
TypeScript (tsx, ts)
Unity-Prefab (mat, prefab)
Vala (vala)
Vala Header (vapi)
Velocity Template Language (vm)
Verilog-SystemVerilog (sv, svh, v)
VHDL (vhd, VHD, vhdl, VHDL)
vim script (vim)
Visual Basic (bas, cls, ctl, dsr, frm, vb, VB, vba, VBA, VBS, vbs)
Visual Fox Pro (SCA, sca)
Visualforce Component (component)
Visualforce Page (page)
Vuejs Component (vue)
Windows Message File (mc)
Windows Module Definition (def)
Windows Resource File (rc, rc2)
WiX include (wxi)
WiX source (wxs)
WiX string localization (wxl)
XAML (xaml)
xBase (prg)
xBase Header (ch)
XHTML (xhtml)
XMI (XMI, xmi)
XML (xml, XML)
XQuery (xq, xquery)
XSD (xsd, XSD)
XSLT (XSL, xsl, XSLT, xslt)
yacc (y)
YAML (yaml, yml)
zsh (zsh)
If we analize the last release (6.3.1) of the Titan executor with it:
perl cloc-1.74.pl titan.core-6.3.1.zip
9106 text files.
8440 unique files.
Complex regular subexpression recursion limit (32766) exceeded at cloc-1.74.pl line 9619.
1647 files ignored.
github.com/AlDanial/cloc v 1.74 T=23.74 s (314.1 files/s, 44001.4 lines/s)
---------------------------------------------------------------------------------
Language files blank comment code
---------------------------------------------------------------------------------
TTCN 4723 64945 130610 250312
C++ 224 15973 14541 194420
XSD 613 7307 2920 47865
C 53 4088 6579 42850
C/C++ Header 259 6773 15187 35793
TITAN Project File Information 521 1086 7640 30050
HTML 214 271 2693 26158
Bourne Shell 64 3623 4308 23111
yacc 11 2637 1777 21857
make 389 6258 8827 13624
m4 3 953 107 8064
lex 17 1165 920 7270
JSON 9 0 0 7062
XML 257 62 622 5190
Java 45 855 2435 4849
Perl 21 484 903 3816
Python 7 185 657 2789
TeX 2 152 55 757
Bourne Again Shell 17 81 17 324
PHP 3 7 5 257
Markdown 2 66 0 202
Ant 2 2 20 186
XSLT 2 14 22 119
CSS 1 8 0 38
---------------------------------------------------------------------------------
SUM: 7459 116995 200845 726963
---------------------------------------------------------------------------------
we can see that it contains mainly C++ with a (maybe) surprising amount of TTCN-3 code.
The latter is being used to run a range of tests within the continuous integration flow of Titan:
regression, conformance, function, performance etc. More about this later.
The similar stats for the Eclipse plug-ins show a dominance of Java, as it could be expected:
perl cloc-1.74.pl titan.EclipsePlug-ins-6.3.0.zip
2978 text files.
2929 unique files.
236 files ignored.
github.com/AlDanial/cloc v 1.74 T=13.03 s (210.4 files/s, 41867.2 lines/s)
---------------------------------------------------------------------------------
Language files blank comment code
---------------------------------------------------------------------------------
Java 2156 54523 73061 317350
TTCN 142 3858 4307 38761
TITAN Project File Information 338 911 3506 20397
ANTLR Grammar 14 1528 687 15407
XML 36 423 460 5393
HTML 35 146 1 2948
XSD 2 24 35 522
CSS 2 18 0 217
Perl 2 29 82 154
C++ 2 46 32 136
XSLT 3 19 18 88
Ant 1 6 8 64
C/C++ Header 2 23 32 48
Bourne Shell 3 12 41 40
INI 1 9 0 28
make 2 14 31 22
Markdown 1 15 0 20
---------------------------------------------------------------------------------
SUM: 2742 61604 82301 401595
---------------------------------------------------------------------------------
Note that these are per repository statistics, and as such cannot be compared with openhub results as those are for the whole
project.
Best regards
Elemer
-
Attachment: Commits.png
(Size: 50.07KB, Downloaded 705 times) -
Attachment: Code.png
(Size: 25.08KB, Downloaded 780 times)
[Updated on: Fri, 19 January 2018 16:39] Report message to a moderator
|
|
|
Goto Forum:
Current Time: Fri Apr 26 08:24:23 GMT 2024
Powered by FUDForum. Page generated in 0.03905 seconds
|