intellabs / control-flag Goto Github PK
View Code? Open in Web Editor NEWA system to flag anomalous source code expressions by learning typical expressions from training data
License: MIT License
A system to flag anomalous source code expressions by learning typical expressions from training data
License: MIT License
When I test, if missing Null checks happen on if (..) ,can be checked, but if (...) Outside, it can't be checked .
Expect ControlFlag to mine and scan patterns that occur in the ALL structures
Control-Flag crash at Ubuntu 64 (bits)
Compiler: clang (14)
output: killed [pid]
output directory: empty, none file generated.
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.
Describe the feature you'd like
A short description of the feature
Additional context
Add any other context or screenshots about the feature request here.
Compiled control-flag
from commit e7e0e448f40b631636e50b18b94c15d6f35e1283
I ran scripts/scan_for_anomalies.sh
on some PHP code with your dataset.
This the the output:
Level:TWO Expression:(parenthesized_expression (binary_expression left: (unary_op_expression (variable_name (name))) right: (unary_op_expression (scoped_call_expression scope: (relative_scope) name: (name) arguments: (arguments (argument (variable_name (name)))))))) not found in training dataset: Source file: <file>:<line>:<col>:(!$id || !self::is($id))
Expression is Potential anomaly
Did you mean:(parenthesized_expression (binary_expression left: (unary_op_expression (variable_name (name))) right: (unary_op_expression (scoped_call_expression scope: (relative_scope) name: (name) arguments: (arguments (argument (variable_name (name)))))))) with editing cost:0 and occurrences: 0
Did you mean:(parenthesized_expression (binary_expression left: (unary_op_expression (variable_name (name))) right: (unary_op_expression (scoped_call_expression scope: (name) name: (name) arguments: (arguments (argument (variable_name (name)))))))) with editing cost:2 and occurrences: 7
The Level:TWO Expression
and the first Did you mean
are exactly the same.
When I use ControlFlag to scan Unreal Engine, ControlFlag scans only *.h && *.c c-style files and does not scan any *.cpp files
Expect ControlFlag to support C Plus Plus Mine and scan
Or, what can I do to support CPP
i suggest a virtualization with control-flag already built in.
I pushed on docker hub a Ubuntu image with g++, cmake, and control-flag already built in
Describe the bug
cf_file_scanner segfaults while scanning files.
Exact command to reproduce
scripts/scan_for_anomalies.sh -d ~/projects/riscv-isa-sim -t c_lang_if_stmts_6000_gitrepos_medium.ts -o spike -l 1
Unfortunately I could not reproduce it again with exactly the same command and sources.
Callstack (if it is a crash bug) or error info
(gdb) bt
#0 0x000055ae0728d086 in Trie::CalculateEditDistance(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const ()
#1 0x000055ae0728caa0 in Trie::SearchNearestExpressionsUsingTrieTraversal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, unsigned long) const::{lambda()#1}::operator()() const ()
#2 0x000055ae0728d620 in void std::__invoke_impl<void, Trie::SearchNearestExpressionsUsingTrieTraversal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, unsigned long) const::{lambda()#1}>(std::__invoke_other, Trie::SearchNearestExpressionsUsingTrieTraversal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, unsigned long) const::{lambda()#1}&&) ()
#3 0x000055ae0728d5d5 in std::__invoke_result<Trie::SearchNearestExpressionsUsingTrieTraversal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, unsigned long) const::{lambda()#1}>::type std::__invoke<Trie::SearchNearestExpressionsUsingTrieTraversal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, unsigned long) const::{lambda()#1}>(Trie::SearchNearestExpressionsUsingTrieTraversal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, unsigned long) const::{lambda()#1}&&) ()
#4 0x000055ae0728d582 in void std::thread::_Invoker<std::tuple<Trie::SearchNearestExpressionsUsingTrieTraversal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, unsigned long) const::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) ()
#5 0x000055ae0728d556 in std::thread::_Invoker<std::tuple<Trie::SearchNearestExpressionsUsingTrieTraversal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, unsigned long) const::{lambda()#1}> >::operator()() ()
#6 0x000055ae0728d53a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<Trie::SearchNearestExpressionsUsingTrieTraversal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, unsigned long) const::{lambda()#1}> > >::_M_run() ()
#7 0x00007ff04e4d62f3 in std::execute_native_thread_routine (__p=0x7ff04807b6c0) at /usr/src/debug/gcc/libstdc++-v3/src/c++11/thread.cc:82
#8 0x00007ff04e1bc78d in start_thread (arg=<optimized out>) at pthread_create.c:442
#9 0x00007ff04e23d8e4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100
Environment (please complete the following information):
ControlFlag commit
91c02b2
Hi, I'd to like scan anomalies in Java projects, but found that it seems that control-flag does not support java pattern?
is it true?
Describe the bug
When running the 100+ C code download from GitHub, some authorization request is given at progress bar %6. When given, it identifies the username and then asks for the password, but then the password input becomes the username.
Exact command to reproduce
python3 download_repos.py -f c100.txt -o training_repo_dir -m clone -p 5
Callstack (if it is a crash bug) or error info
Username for 'https://github.com': [ENTERED USERNAME]
Password for 'https://[ENTERED USERNAME]@github.com': Password for 'https://[ENTERED PASSWORD][email protected]': Password for 'https://github.com': Password for 'https://[ENTERED USERNAME]@github.com': Password for 'https://ENTERED [email protected]':
After pressing enter a few times
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/OPCFoundation/UA-AnsiC-Legacy/'
And on subsequent presses of enter different repos appear to fail to download (probably the spinner is just not showing the repos that will not download without a user logging in):
Password for 'https://github.com':
remote: Repository not found.
fatal: Authentication failed for 'https://github.com/brave/browser-ios/'
Expected behavior
Repos download normally. If there is an authorization needed, it is both taken correctly. If errors exist, error handling will work such as re-requesting the user's credentials and not proceeding until it gets them and they are correct.
Environment (please complete the following information):
ControlFlag commit
N/A
Additional context
I am using Windows Subsystem for Linux 2.
Describe the bug
I launch ../scripts/scan_for_anomalies.sh
as described in the README, but see "Training: start."
Per the README, I was not expecting this launch to have anything to do with training - just scan the code I provided for anomalies.
Exact command to reproduce
I used this command:
cd control-flag
cmake .
make -j # successful build
make test # successful tests
gdown https://drive.google.com/uc?id=1-jzs3zrKU541hwChaciXSk8zrnMN1mYc
tar xpvf c_lang_if_stmts_6000_gitr*
cd quick_start
git clone .... src_ttsiod
mkdir test1_scan_output/
../scripts/scan_for_anomalies.sh -d src_ttsiod/ -t ../c_lang_if_stmts_6000_gitrepos.ts -o test1_scan_output/
Callstack (if it is a crash bug) or error info
No crash. The program cf_file_scanner
is running, consuming a single core - but the only thing it printed so far was "Training: start".
Expected behavior
I was under the impression that this command should not lead to training - I have downloaded (and decompressed) the 6000 Github packages db, so I expected this to scan, not train.
Environment (please complete the following information):
cmake
).ControlFlag commit
I am at commit 42e068d
Additional context
I work for the European Space Agency, reviewing mission codebases - and am interested to see what control-flag can offer to our array of Static Analysers. To be clear, I am so far testing with hand-made simple bug reproductions, not mission code.
Thank for trying out ControlFlag. We would appreciate if you can fill out the template below for reporting a bug.
Describe the bug
Amount of threads seems to be limited to 16 ? is this expected behaviour?
Also only 4 logfiles are generated, even when more threads are in use. (> 4)
Exact command to reproduce
without -j or using -j20 (Intel i9 10900K. 10c/20t)
Callstack (if it is a crash bug) or error info
N/A
Expected behavior
16 threads and more log files
Environment (please complete the following information):
2>C:\Users\Bob\control-flag\src\common_util.h(24,10): fatal error C1083: Cannot open include file: 'sys/time.h': No such file or directory
2>C:\Users\Bob\control-flag\src\trie.h(24,10): fatal error C1083: Cannot open include file: 'unistd.h': No such file or directory
Shouldn't you be using portable C++11 chrono in new code?
Is your feature request related to a problem? Please describe.
It does not support Golang
Describe the feature you'd like
If it supports Golang, that would be great
Additional context
I'm not a $0 shopper. I want to know what I should do.
I'm a little Golang programmer. I don't know C++, but I know a little PHP.
It seems that PHP has fallen behind now, so I turned to Golang.
Golang is a language without historical baggage and with standard syntax, compared with Python.
If this tool can be used on Golang, all Golang developers will be excited, just like golangci-lint.
I think the author or programmer of Golang should provide some help for this project.
We are weak.
Since I don't know C++, I want to know what help I can provide and what I need to do, such as writing an API that returns a syntax tree?
If adapting to other languages is an easy process, it would be better to have a language adaptation tutorial.
Tried to check ClickHouse codebase, but it crashed. You can get ClickHouse codebase just from GitHub:
git clone [email protected]:ClickHouse/ClickHouse.git clickhouse
scripts/scan_for_anomalies.sh -d /home/qoega/clickhouse/src -t ./c_lang_if_stmts_6000_gitrepos.ts -o /home/qoega/control-flag/out/
Training: start.
Trie L1 build took: 1010.554s
Trie L2 build took: 487.217s
Training: complete.
Storing logs in /home/qoega/control-flag/out/
scripts/scan_for_anomalies.sh: line 84: 72697 Segmentation fault ${SCRIPTS_DIR}/../bin/cf_file_scanner -t ${TRAIN_FILE} -s ${SCAN_FILE_LIST} -c ${MAX_AUTOCORRECT_COST} -n ${MAX_AUTOCORRECT_RESULTS} -j ${NUM_SCAN_THREADS} -o ${OUTPUT_DIR} -a ${ANOMALY_THRESHOLD} -l ${LANGUAGE}
PS:
c_lang_if_stmts_6000_gitrepos.ts was trained on C projects only or C++ as well?
Did not find https://github.com/ClickHouse/ClickHouse in C++ projects list. It is written in C++ and has 20K stars/800 contributors.
Line numbers that are printed out in a log file, for potential anomalies, are incorrect.
For example output from log:
/var/jenkins_slave/workspace/Preboot/control-flag/thread_1.log-[TID=140515822532352] Scanning File: /var/jenkins_slave/workspace/Preboot/control-flag/sandbox/IntelUndiPkg/IceUndiFullDxe/Ice.c
/var/jenkins_slave/workspace/Preboot/control-flag/thread_1.log-Level:ONE Expression:(parenthesized_expression (binary_expression ("=") (identifier)(identifier))) found in training dataset: Source file: /var/jenkins_slave/workspace/Preboot/control-flag/sandbox/IntelUndiPkg/IceUndiFullDxe/Ice.c:84:5:(Status = EFI_NOT_FOUND)
/var/jenkins_slave/workspace/Preboot/control-flag/thread_1.log:Expression is Potential anomaly
From log here line number is 84. In fact it should be 85.
See: https://github.com/intel-sandbox/epg.nd_preboot.uefi_undi_cpk/pull/47/files
I've tested https://github.com/ClickHouse/ClickHouse (sources without submodules) with full training data.
It has found only a few false positives (see below).
It means that either ClickHouse source code is too good (which I don't believe) or control-flag did not do the job well.
$ grep -B1 -A10 "Potential anomaly" *.log
thread_0.log-Level:ONE Expression:(parenthesized_expression (binary_expression ("+") (subscript_expression (field_expression (identifier)(field_identifier))(number_literal))(number_literal))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/base/glibc-compatibility/musl/atomic.h:212:4:(u.r[0]+1)
thread_0.log:Expression is Potential anomaly
thread_0.log-Did you mean:(parenthesized_expression (binary_expression ("+") (subscript_expression (field_expression (identifier)(field_identifier))(number_literal))(number_literal))) with editing cost:0 and occurrences: 2
thread_0.log-Did you mean:(parenthesized_expression (binary_expression ("&") (subscript_expression (field_expression (identifier)(field_identifier))(number_literal))(number_literal))) with editing cost:1 and occurrences: 2559
thread_0.log-Did you mean:(parenthesized_expression (binary_expression (">") (subscript_expression (field_expression (identifier)(field_identifier))(number_literal))(number_literal))) with editing cost:1 and occurrences: 1340
thread_0.log-Did you mean:(parenthesized_expression (binary_expression ("<") (subscript_expression (field_expression (identifier)(field_identifier))(number_literal))(number_literal))) with editing cost:1 and occurrences: 1088
thread_0.log-Did you mean:(parenthesized_expression (binary_expression ("==") (subscript_expression (field_expression (identifier)(field_identifier))(number_literal))(number_literal))) with editing cost:2 and occurrences: 6708
thread_0.log-
thread_0.log-Level:TWO Expression:(parenthesized_expression (binary_expression ("+") (non_terminal_expression) (number_literal))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/base/glibc-compatibility/musl/atomic.h:212:4:(u.r[0]+1)
thread_0.log:Expression is Potential anomaly
thread_0.log-Did you mean:(parenthesized_expression (binary_expression ("+") (non_terminal_expression) (number_literal))) with editing cost:0 and occurrences: 24
thread_0.log-Did you mean:(parenthesized_expression (binary_expression ("<") (non_terminal_expression) (number_literal))) with editing cost:1 and occurrences: 466215
thread_0.log-Did you mean:(parenthesized_expression (binary_expression (">") (non_terminal_expression) (number_literal))) with editing cost:1 and occurrences: 229340
thread_0.log-Did you mean:(parenthesized_expression (binary_expression ("&") (non_terminal_expression) (number_literal))) with editing cost:1 and occurrences: 60040
thread_0.log-Did you mean:(parenthesized_expression (binary_expression ("%") (non_terminal_expression) (number_literal))) with editing cost:1 and occurrences: 2847
thread_0.log-
thread_0.log-Level:ONE Expression:(parenthesized_expression (binary_expression ("+") (subscript_expression (field_expression (identifier)(field_identifier))(number_literal))(number_literal))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/base/glibc-compatibility/musl/atomic.h:213:4:(u.r[1]+1)
thread_0.log:Expression is Potential anomaly
thread_0.log-Did you mean:(parenthesized_expression (binary_expression ("+") (subscript_expression (field_expression (identifier)(field_identifier))(number_literal))(number_literal))) with editing cost:0 and occurrences: 2
thread_0.log-Did you mean:(parenthesized_expression (binary_expression ("&") (subscript_expression (field_expression (identifier)(field_identifier))(number_literal))(number_literal))) with editing cost:1 and occurrences: 2559
thread_0.log-Did you mean:(parenthesized_expression (binary_expression (">") (subscript_expression (field_expression (identifier)(field_identifier))(number_literal))(number_literal))) with editing cost:1 and occurrences: 1340
thread_0.log-Did you mean:(parenthesized_expression (binary_expression ("<") (subscript_expression (field_expression (identifier)(field_identifier))(number_literal))(number_literal))) with editing cost:1 and occurrences: 1088
thread_0.log-Did you mean:(parenthesized_expression (binary_expression ("==") (subscript_expression (field_expression (identifier)(field_identifier))(number_literal))(number_literal))) with editing cost:2 and occurrences: 6708
thread_0.log-
thread_0.log-Level:TWO Expression:(parenthesized_expression (binary_expression ("+") (non_terminal_expression) (number_literal))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/base/glibc-compatibility/musl/atomic.h:213:4:(u.r[1]+1)
thread_0.log:Expression is Potential anomaly
thread_0.log-Did you mean:(parenthesized_expression (binary_expression ("+") (non_terminal_expression) (number_literal))) with editing cost:0 and occurrences: 24
thread_0.log-Did you mean:(parenthesized_expression (binary_expression ("<") (non_terminal_expression) (number_literal))) with editing cost:1 and occurrences: 466215
thread_0.log-Did you mean:(parenthesized_expression (binary_expression (">") (non_terminal_expression) (number_literal))) with editing cost:1 and occurrences: 229340
thread_0.log-Did you mean:(parenthesized_expression (binary_expression ("&") (non_terminal_expression) (number_literal))) with editing cost:1 and occurrences: 60040
thread_0.log-Did you mean:(parenthesized_expression (binary_expression ("%") (non_terminal_expression) (number_literal))) with editing cost:1 and occurrences: 2847
thread_0.log-
thread_0.log-Level:ONE Expression:(parenthesized_expression (subscript_expression (field_expression (identifier)(field_identifier))(number_literal))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/base/glibc-compatibility/musl/atomic.h:222:4:(u.r[0])
thread_0.log-Expression is Okay
thread_0.log-Level:TWO Expression:(parenthesized_expression (subscript_expression (non_terminal_expression) (number_literal))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/base/glibc-compatibility/musl/atomic.h:222:4:(u.r[0])
thread_0.log-Expression is Okay
--
thread_1.log-Level:ONE Expression:(parenthesized_expression (field_expression (call_expression (field_expression (identifier)(field_identifier))(argument_list))(field_identifier))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/Storages/MergeTree/ReplicatedMergeTreeSink.h:49:11:(context->getSettingsRef().deduplicate_blocks_in_dependent_materialized_views)
thread_1.log:Expression is Potential anomaly
thread_1.log-Did you mean:(parenthesized_expression (field_expression (call_expression (field_expression (identifier)(field_identifier))(argument_list))(field_identifier))) with editing cost:0 and occurrences: 3
thread_1.log-Did you mean:(parenthesized_expression (field_expression (field_expression (field_expression (identifier)(field_identifier))(field_identifier))(field_identifier))) with editing cost:2 and occurrences: 41060
thread_1.log-Did you mean:(parenthesized_expression (field_expression (subscript_expression (field_expression (identifier)(field_identifier))(identifier))(field_identifier))) with editing cost:2 and occurrences: 20258
thread_1.log-Did you mean:(parenthesized_expression (field_expression (subscript_expression (field_expression (identifier)(field_identifier))(number_literal))(field_identifier))) with editing cost:2 and occurrences: 3340
thread_1.log-
thread_1.log-Level:TWO Expression:(parenthesized_expression (field_expression argument: (identifier) field: (field_identifier))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/Storages/MergeTree/ReplicatedMergeTreeSink.h:49:11:(context->getSettingsRef().deduplicate_blocks_in_dependent_materialized_views)
thread_1.log-Expression is Okay
thread_1.log-[TID=139711595431680] Scanning File: /home/milovidov/work/ClickHouse_clean/src/Storages/IStorage_fwd.h
thread_1.log-[TID=139711595431680] Scanning File: /home/milovidov/work/ClickHouse_clean/src/Storages/SelectQueryDescription.h
thread_1.log-[TID=139711595431680] Scanning File: /home/milovidov/work/ClickHouse_clean/src/Storages/RabbitMQ/StorageRabbitMQ.h
--
thread_2.log-Level:ONE Expression:(parenthesized_expression (binary_expression ("||") (call_expression (identifier)(argument_list (char_literal)(identifier)))(call_expression (identifier)(argument_list (char_literal)(identifier))))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/IO/readFloatText.h:384:7:(checkChar('e', in) || checkChar('E', in))
thread_2.log:Expression is Potential anomaly
thread_2.log-Did you mean:(parenthesized_expression (binary_expression ("||") (call_expression (identifier)(argument_list (char_literal)(identifier)))(call_expression (identifier)(argument_list (char_literal)(identifier))))) with editing cost:0 and occurrences: 2
thread_2.log-Did you mean:(parenthesized_expression (binary_expression ("||") (call_expression (identifier)(argument_list (string_literal)(identifier)))(call_expression (identifier)(argument_list (string_literal)(identifier))))) with editing cost:2 and occurrences: 152
thread_2.log-
thread_2.log-Level:TWO Expression:(parenthesized_expression (binary_expression ("||") (non_terminal_expression) (non_terminal_expression))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/IO/readFloatText.h:384:7:(checkChar('e', in) || checkChar('E', in))
thread_2.log-Expression is Okay
thread_2.log-Level:ONE Expression:(parenthesized_expression (call_expression (field_expression (identifier)(field_identifier))(argument_list))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/IO/readFloatText.h:386:11:(in.eof())
thread_2.log-Expression is Okay
thread_2.log-Level:TWO Expression:(parenthesized_expression (call_expression)) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/IO/readFloatText.h:386:11:(in.eof())
thread_2.log-Expression is Okay
thread_2.log-Level:ONE Expression:(parenthesized_expression (binary_expression ("==") (pointer_expression (call_expression (field_expression (identifier)(field_identifier))(argument_list)))(char_literal))) not found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/IO/readFloatText.h:395:11:(*in.position() == '-')
--
thread_2.log-Level:ONE Expression:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(string_literal))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/Storages/MergeTree/RPNBuilder.h:96:11:(func->name == "not")
thread_2.log:Expression is Potential anomaly
thread_2.log-Did you mean:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(string_literal))) with editing cost:0 and occurrences: 5
thread_2.log-Did you mean:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(null))) with editing cost:1 and occurrences: 148401
thread_2.log-Did you mean:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(true))) with editing cost:1 and occurrences: 4627
thread_2.log-Did you mean:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(char_literal))) with editing cost:1 and occurrences: 4157
thread_2.log-Did you mean:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(identifier))) with editing cost:2 and occurrences: 576742
thread_2.log-
thread_2.log-Level:TWO Expression:(parenthesized_expression (binary_expression ("==") (non_terminal_expression) (string_literal))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/Storages/MergeTree/RPNBuilder.h:96:11:(func->name == "not")
thread_2.log-Expression is Okay
thread_2.log-Level:ONE Expression:(parenthesized_expression (binary_expression ("!=") (call_expression (field_expression (identifier)(field_identifier))(argument_list))(number_literal))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/Storages/MergeTree/RPNBuilder.h:98:15:(args.size() != 1)
thread_2.log-Expression is Okay
--
thread_2.log-Level:ONE Expression:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(string_literal))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/Storages/MergeTree/RPNBuilder.h:107:20:(func->name == "or")
thread_2.log:Expression is Potential anomaly
thread_2.log-Did you mean:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(string_literal))) with editing cost:0 and occurrences: 5
thread_2.log-Did you mean:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(null))) with editing cost:1 and occurrences: 148401
thread_2.log-Did you mean:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(true))) with editing cost:1 and occurrences: 4627
thread_2.log-Did you mean:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(char_literal))) with editing cost:1 and occurrences: 4157
thread_2.log-Did you mean:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(identifier))) with editing cost:2 and occurrences: 576742
thread_2.log-
thread_2.log-Level:TWO Expression:(parenthesized_expression (binary_expression ("==") (non_terminal_expression) (string_literal))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/Storages/MergeTree/RPNBuilder.h:107:20:(func->name == "or")
thread_2.log-Expression is Okay
thread_2.log-[TID=139711587038976] Scanning File: /home/milovidov/work/ClickHouse_clean/src/Storages/MergeTree/MergeTreePartInfo.h
thread_2.log-[TID=139711587038976] Scanning File: /home/milovidov/work/ClickHouse_clean/src/Storages/MergeTree/MergeTreeDataPartUUID.h
--
thread_2.log-Level:ONE Expression:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(string_literal))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/Interpreters/GlobalSubqueriesVisitor.h:208:19:(func.name == "globalIn")
thread_2.log:Expression is Potential anomaly
thread_2.log-Did you mean:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(string_literal))) with editing cost:0 and occurrences: 5
thread_2.log-Did you mean:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(null))) with editing cost:1 and occurrences: 148401
thread_2.log-Did you mean:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(true))) with editing cost:1 and occurrences: 4627
thread_2.log-Did you mean:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(char_literal))) with editing cost:1 and occurrences: 4157
thread_2.log-Did you mean:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(identifier))) with editing cost:2 and occurrences: 576742
thread_2.log-
thread_2.log-Level:TWO Expression:(parenthesized_expression (binary_expression ("==") (non_terminal_expression) (string_literal))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/Interpreters/GlobalSubqueriesVisitor.h:208:19:(func.name == "globalIn")
thread_2.log-Expression is Okay
thread_2.log-Level:ONE Expression:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(string_literal))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/Interpreters/GlobalSubqueriesVisitor.h:210:24:(func.name == "globalNotIn")
thread_2.log:Expression is Potential anomaly
thread_2.log-Did you mean:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(string_literal))) with editing cost:0 and occurrences: 5
thread_2.log-Did you mean:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(null))) with editing cost:1 and occurrences: 148401
thread_2.log-Did you mean:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(true))) with editing cost:1 and occurrences: 4627
thread_2.log-Did you mean:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(char_literal))) with editing cost:1 and occurrences: 4157
thread_2.log-Did you mean:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(identifier))) with editing cost:2 and occurrences: 576742
thread_2.log-
thread_2.log-Level:TWO Expression:(parenthesized_expression (binary_expression ("==") (non_terminal_expression) (string_literal))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/Interpreters/GlobalSubqueriesVisitor.h:210:24:(func.name == "globalNotIn")
thread_2.log-Expression is Okay
thread_2.log-Level:ONE Expression:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(string_literal))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/Interpreters/GlobalSubqueriesVisitor.h:212:24:(func.name == "globalNullIn")
thread_2.log:Expression is Potential anomaly
thread_2.log-Did you mean:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(string_literal))) with editing cost:0 and occurrences: 5
thread_2.log-Did you mean:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(null))) with editing cost:1 and occurrences: 148401
thread_2.log-Did you mean:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(true))) with editing cost:1 and occurrences: 4627
thread_2.log-Did you mean:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(char_literal))) with editing cost:1 and occurrences: 4157
thread_2.log-Did you mean:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(identifier))) with editing cost:2 and occurrences: 576742
thread_2.log-
thread_2.log-Level:TWO Expression:(parenthesized_expression (binary_expression ("==") (non_terminal_expression) (string_literal))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/Interpreters/GlobalSubqueriesVisitor.h:212:24:(func.name == "globalNullIn")
thread_2.log-Expression is Okay
thread_2.log-Level:ONE Expression:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(string_literal))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/Interpreters/GlobalSubqueriesVisitor.h:214:24:(func.name == "globalNotNullIn")
thread_2.log:Expression is Potential anomaly
thread_2.log-Did you mean:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(string_literal))) with editing cost:0 and occurrences: 5
thread_2.log-Did you mean:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(null))) with editing cost:1 and occurrences: 148401
thread_2.log-Did you mean:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(true))) with editing cost:1 and occurrences: 4627
thread_2.log-Did you mean:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(char_literal))) with editing cost:1 and occurrences: 4157
thread_2.log-Did you mean:(parenthesized_expression (binary_expression ("==") (field_expression (identifier)(field_identifier))(identifier))) with editing cost:2 and occurrences: 576742
thread_2.log-
thread_2.log-Level:TWO Expression:(parenthesized_expression (binary_expression ("==") (non_terminal_expression) (string_literal))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/Interpreters/GlobalSubqueriesVisitor.h:214:24:(func.name == "globalNotNullIn")
thread_2.log-Expression is Okay
thread_2.log-[TID=139711587038976] Scanning File: /home/milovidov/work/ClickHouse_clean/src/Interpreters/interpretSubquery.h
thread_2.log-[TID=139711587038976] Scanning File: /home/milovidov/work/ClickHouse_clean/src/Interpreters/RedundantFunctionsInOrderByVisitor.h
--
thread_3.log-Level:ONE Expression:(parenthesized_expression (binary_expression ("||") (binary_expression ("!=") (identifier)(number_literal))(binary_expression ("==") (identifier)(unary_expression ("-") (identifier))))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/base/glibc-compatibility/musl/powl.c:232:5:(x != 0.0 || y == -INFINITY)
thread_3.log:Expression is Potential anomaly
thread_3.log-Did you mean:(parenthesized_expression (binary_expression ("||") (binary_expression ("!=") (identifier)(number_literal))(binary_expression ("==") (identifier)(unary_expression ("-") (identifier))))) with editing cost:0 and occurrences: 2
thread_3.log-Did you mean:(parenthesized_expression (binary_expression ("||") (binary_expression ("==") (identifier)(number_literal))(binary_expression ("==") (identifier)(unary_expression ("-") (identifier))))) with editing cost:1 and occurrences: 280
thread_3.log-Did you mean:(parenthesized_expression (binary_expression ("||") (binary_expression (">=") (identifier)(number_literal))(binary_expression ("==") (identifier)(unary_expression ("-") (identifier))))) with editing cost:1 and occurrences: 71
thread_3.log-Did you mean:(parenthesized_expression (binary_expression ("||") (binary_expression (">") (identifier)(number_literal))(binary_expression ("==") (identifier)(unary_expression ("-") (identifier))))) with editing cost:2 and occurrences: 106
thread_3.log-Did you mean:(parenthesized_expression (binary_expression ("||") (binary_expression ("==") (identifier)(identifier))(binary_expression ("==") (identifier)(unary_expression ("-") (identifier))))) with editing cost:2 and occurrences: 100
thread_3.log-
thread_3.log-Level:TWO Expression:(parenthesized_expression (binary_expression ("||") (non_terminal_expression) (non_terminal_expression))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/base/glibc-compatibility/musl/powl.c:232:5:(x != 0.0 || y == -INFINITY)
thread_3.log-Expression is Okay
thread_3.log-Level:ONE Expression:(parenthesized_expression (binary_expression (">=") (identifier)(identifier))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/base/glibc-compatibility/musl/powl.c:235:4:(x >= LDBL_MAX)
thread_3.log-Expression is Okay
--
thread_3.log-Level:ONE Expression:(parenthesized_expression (call_expression (field_expression (subscript_expression (field_expression (identifier)(field_identifier))(identifier))(field_identifier))(argument_list))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/AggregateFunctions/AggregateFunctionSumMap.h:348:19:(elem.second[col].isNull())
thread_3.log:Expression is Potential anomaly
thread_3.log-Did you mean:(parenthesized_expression (call_expression (field_expression (subscript_expression (field_expression (identifier)(field_identifier))(identifier))(field_identifier))(argument_list))) with editing cost:0 and occurrences: 2
thread_3.log-Did you mean:(parenthesized_expression (field_expression (field_expression (subscript_expression (field_expression (identifier)(field_identifier))(identifier))(field_identifier))(field_identifier))) with editing cost:2 and occurrences: 1494
thread_3.log-Did you mean:(parenthesized_expression (call_expression (field_expression (field_expression (field_expression (identifier)(field_identifier))(field_identifier))(field_identifier))(argument_list))) with editing cost:2 and occurrences: 257
thread_3.log-Did you mean:(parenthesized_expression (subscript_expression (field_expression (subscript_expression (field_expression (identifier)(field_identifier))(identifier))(field_identifier))(identifier))) with editing cost:2 and occurrences: 229
thread_3.log-Did you mean:(parenthesized_expression (subscript_expression (field_expression (subscript_expression (field_expression (identifier)(field_identifier))(identifier))(field_identifier))(number_literal))) with editing cost:2 and occurrences: 146
thread_3.log-
thread_3.log-Level:TWO Expression:(parenthesized_expression (call_expression)) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/AggregateFunctions/AggregateFunctionSumMap.h:348:19:(elem.second[col].isNull())
thread_3.log-Expression is Okay
thread_3.log-Level:ONE Expression:(parenthesized_expression (binary_expression (">") (binary_expression ("<") (unary_expression ("!") (field_expression (call_expression (field_expression (identifier)(field_identifier))(argument_list))(field_identifier)))(identifier))(parenthesized_expression (identifier)))) not found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/AggregateFunctions/AggregateFunctionSumMap.h:415:11:(!params_.front().tryGet<Array>(keys_to_keep_))
thread_3.log-Expression is Okay
--
thread_3.log-Level:TWO Expression:(parenthesized_expression (binary_expression ("*") (identifier) (non_terminal_expression))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/Columns/ColumnUnique.h:319:7:(auto * nullable = checkAndGetColumn<ColumnNullable>(src))
thread_3.log:Expression is Potential anomaly
thread_3.log-Did you mean:(parenthesized_expression (binary_expression ("*") (identifier) (non_terminal_expression))) with editing cost:0 and occurrences: 193
thread_3.log-Did you mean:(parenthesized_expression (binary_expression (">") (identifier) (non_terminal_expression))) with editing cost:1 and occurrences: 130297
thread_3.log-Did you mean:(parenthesized_expression (binary_expression ("<") (identifier) (non_terminal_expression))) with editing cost:1 and occurrences: 130156
thread_3.log-Did you mean:(parenthesized_expression (binary_expression ("&") (identifier) (non_terminal_expression))) with editing cost:1 and occurrences: 96043
thread_3.log-Did you mean:(parenthesized_expression (binary_expression ("=") (identifier) (non_terminal_expression))) with editing cost:1 and occurrences: 12586
thread_3.log-
thread_3.log-Level:ONE Expression:(parenthesized_expression (identifier)) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/Columns/ColumnUnique.h:342:7:(is_nullable)
thread_3.log-Expression is Okay
thread_3.log-Level:TWO Expression:(parenthesized_expression (identifier)) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/Columns/ColumnUnique.h:342:7:(is_nullable)
thread_3.log-Expression is Okay
--
thread_3.log-Level:ONE Expression:(parenthesized_expression (binary_expression ("!=") (parenthesized_expression (binary_expression (">") (identifier)(number_literal)))(identifier))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/Columns/ColumnUnique.h:436:19:((nan_direction_hint > 0) != reverse)
thread_3.log:Expression is Potential anomaly
thread_3.log-Did you mean:(parenthesized_expression (binary_expression ("!=") (parenthesized_expression (binary_expression (">") (identifier)(number_literal)))(identifier))) with editing cost:0 and occurrences: 1
thread_3.log-Did you mean:(parenthesized_expression (binary_expression ("!=") (parenthesized_expression (binary_expression ("&") (identifier)(number_literal)))(identifier))) with editing cost:1 and occurrences: 962
thread_3.log-Did you mean:(parenthesized_expression (binary_expression ("!=") (parenthesized_expression (binary_expression (">>") (identifier)(number_literal)))(identifier))) with editing cost:1 and occurrences: 375
thread_3.log-Did you mean:(parenthesized_expression (binary_expression ("!=") (parenthesized_expression (binary_expression ("+") (identifier)(number_literal)))(identifier))) with editing cost:1 and occurrences: 198
thread_3.log-Did you mean:(parenthesized_expression (binary_expression ("!=") (parenthesized_expression (binary_expression ("^") (identifier)(number_literal)))(identifier))) with editing cost:1 and occurrences: 60
thread_3.log-
thread_3.log-Level:TWO Expression:(parenthesized_expression (binary_expression ("!=") (non_terminal_expression) (identifier))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/Columns/ColumnUnique.h:436:19:((nan_direction_hint > 0) != reverse)
thread_3.log-Expression is Okay
thread_3.log-Level:ONE Expression:(parenthesized_expression (binary_expression ("<=") (binary_expression ("-") (identifier)(identifier))(number_literal))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/Columns/ColumnUnique.h:446:19:(last - first <= 1)
thread_3.log-Expression is Okay
--
thread_3.log-Level:TWO Expression:(parenthesized_expression (binary_expression ("*") (identifier) (non_terminal_expression))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/Columns/ColumnUnique.h:519:7:(auto * nullable_column = checkAndGetColumn<ColumnNullable>(src))
thread_3.log:Expression is Potential anomaly
thread_3.log-Did you mean:(parenthesized_expression (binary_expression ("*") (identifier) (non_terminal_expression))) with editing cost:0 and occurrences: 193
thread_3.log-Did you mean:(parenthesized_expression (binary_expression (">") (identifier) (non_terminal_expression))) with editing cost:1 and occurrences: 130297
thread_3.log-Did you mean:(parenthesized_expression (binary_expression ("<") (identifier) (non_terminal_expression))) with editing cost:1 and occurrences: 130156
thread_3.log-Did you mean:(parenthesized_expression (binary_expression ("&") (identifier) (non_terminal_expression))) with editing cost:1 and occurrences: 96043
thread_3.log-Did you mean:(parenthesized_expression (binary_expression ("=") (identifier) (non_terminal_expression))) with editing cost:1 and occurrences: 12586
thread_3.log-
thread_3.log-Level:ONE Expression:(parenthesized_expression (binary_expression ("==") (identifier)(identifier))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/Columns/ColumnUnique.h:527:7:(src_column == nullptr)
thread_3.log-Expression is Okay
thread_3.log-Level:TWO Expression:(parenthesized_expression (binary_expression ("==") (identifier) (identifier))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/Columns/ColumnUnique.h:527:7:(src_column == nullptr)
thread_3.log-Expression is Okay
--
thread_3.log-Level:TWO Expression:(parenthesized_expression (binary_expression ("*") (identifier) (non_terminal_expression))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/DataTypes/DataTypesDecimal.h:64:7:(auto * decimal_type = checkDecimal<Decimal64>(data_type))
thread_3.log:Expression is Potential anomaly
thread_3.log-Did you mean:(parenthesized_expression (binary_expression ("*") (identifier) (non_terminal_expression))) with editing cost:0 and occurrences: 193
thread_3.log-Did you mean:(parenthesized_expression (binary_expression (">") (identifier) (non_terminal_expression))) with editing cost:1 and occurrences: 130297
thread_3.log-Did you mean:(parenthesized_expression (binary_expression ("<") (identifier) (non_terminal_expression))) with editing cost:1 and occurrences: 130156
thread_3.log-Did you mean:(parenthesized_expression (binary_expression ("&") (identifier) (non_terminal_expression))) with editing cost:1 and occurrences: 96043
thread_3.log-Did you mean:(parenthesized_expression (binary_expression ("=") (identifier) (non_terminal_expression))) with editing cost:1 and occurrences: 12586
thread_3.log-
thread_3.log-Level:ONE Expression:(parenthesized_expression (binary_expression ("*") (identifier)(binary_expression ("=") (identifier)(binary_expression (">") (binary_expression ("<") (identifier)(identifier))(parenthesized_expression (identifier)))))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/DataTypes/DataTypesDecimal.h:66:7:(auto * decimal_type = checkDecimal<Decimal128>(data_type))
thread_3.log-Expression is Okay
thread_3.log-Level:TWO Expression:(parenthesized_expression (binary_expression ("*") (identifier) (non_terminal_expression))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/DataTypes/DataTypesDecimal.h:66:7:(auto * decimal_type = checkDecimal<Decimal128>(data_type))
thread_3.log:Expression is Potential anomaly
thread_3.log-Did you mean:(parenthesized_expression (binary_expression ("*") (identifier) (non_terminal_expression))) with editing cost:0 and occurrences: 193
thread_3.log-Did you mean:(parenthesized_expression (binary_expression (">") (identifier) (non_terminal_expression))) with editing cost:1 and occurrences: 130297
thread_3.log-Did you mean:(parenthesized_expression (binary_expression ("<") (identifier) (non_terminal_expression))) with editing cost:1 and occurrences: 130156
thread_3.log-Did you mean:(parenthesized_expression (binary_expression ("&") (identifier) (non_terminal_expression))) with editing cost:1 and occurrences: 96043
thread_3.log-Did you mean:(parenthesized_expression (binary_expression ("=") (identifier) (non_terminal_expression))) with editing cost:1 and occurrences: 12586
thread_3.log-
thread_3.log-Level:ONE Expression:(parenthesized_expression (binary_expression ("*") (identifier)(binary_expression ("=") (identifier)(binary_expression (">") (binary_expression ("<") (identifier)(identifier))(parenthesized_expression (identifier)))))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/DataTypes/DataTypesDecimal.h:68:7:(auto * decimal_type = checkDecimal<Decimal256>(data_type))
thread_3.log-Expression is Okay
thread_3.log-Level:TWO Expression:(parenthesized_expression (binary_expression ("*") (identifier) (non_terminal_expression))) found in training dataset: Source file: /home/milovidov/work/ClickHouse_clean/src/DataTypes/DataTypesDecimal.h:68:7:(auto * decimal_type = checkDecimal<Decimal256>(data_type))
thread_3.log:Expression is Potential anomaly
thread_3.log-Did you mean:(parenthesized_expression (binary_expression ("*") (identifier) (non_terminal_expression))) with editing cost:0 and occurrences: 193
thread_3.log-Did you mean:(parenthesized_expression (binary_expression (">") (identifier) (non_terminal_expression))) with editing cost:1 and occurrences: 130297
Is your feature request related to a problem? Please describe.
There is no requirements.txt
file, so if a user is working on the CMDLine and does not have the proper libraries (i.e., not part of the stdlib
) they will not have to install it one by one, but can use: pip3 install -r requirements.txt
Describe the feature you'd like
Add a requirements.txt
file. For example, the file will look like:
wget
tqdm
...
Describe the feature you'd like
User's do not know what size the 100 top GitHub repositories will be. As many people have varying space available, it would be nice if the repository would list the size of all the GitHub repos that would be downloaded, with some other possible suggested system requirements.
Additional context
GitHub gives the ability to tell a size of a repo in their API: https://stackoverflow.com/a/8679592/8651748
Thank for trying out ControlFlag. We would appreciate if you can fill out the template below for reporting a bug.
Describe the bug
The C++ large data set cannot be downloaded any more. The link is dead. Maybe it has been deleted from Google drive.
It neither works in the browser nor using the gdown command.
Link https://drive.google.com/file/d/14iNcH3plw3EYnYfX63LntPtyr8Pwo2IP/view?usp=sharing
gdown ID 14iNcH3plw3EYnYfX63LntPtyr8Pwo2IP
Exact command to reproduce
Please specify ControlFlag command that you used
Callstack (if it is a crash bug) or error info
Please provide any info about the error - error message, code, etc.
Expected behavior
A clear and concise description of what you expected to happen.
Environment (please complete the following information):
ControlFlag commit
Additional context
Add any other context about the problem here.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.