Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Insight_ProCode

Avatar for Richard Beal Richard Beal
October 08, 2015
54

 Insight_ProCode

Avatar for Richard Beal

Richard Beal

October 08, 2015

Transcript

  1. Framework Framework Framework Framework Code: Language: C FLOAT ID3 SEMI

    INT ID4 EQ D4 SEMI ID3 EQ ID4 MULT F7 SEMI > ProCode( ); Language Info & Rules Syntax Tokenization: S
  2. Framework Framework Framework Framework Code: Language: C Parameter-ization: P FLOAT

    ID3 SEMI INT ID4 EQ D4 SEMI ID3 EQ ID4 MULT F7 SEMI > ProCode( ); Language Info & Rules Syntax Tokenization: S TYPE ID SEMI TYPE ID EQ NUM SEMI ID EQ ID MULT NUM SEMI
  3. Framework Framework Framework Framework Code: Language: C Parameter-ization: P FLOAT

    ID3 SEMI INT ID4 EQ D4 SEMI ID3 EQ ID4 MULT F7 SEMI > ProCode( ); Language Info & Rules Syntax Tokenization: S TYPE ID SEMI TYPE ID EQ NUM SEMI ID EQ ID MULT NUM SEMI Construct Suffix Array (SA) and Longest Common Prefix (LCP)
  4. Framework Framework Framework Framework Code: Language: C Parameter-ization: P FLOAT

    ID3 SEMI INT ID4 EQ D4 SEMI ID3 EQ ID4 MULT F7 SEMI > ProCode( ); Language Info & Rules Duplication Analysis Feature Extraction Syntax Tokenization: S TYPE ID SEMI TYPE ID EQ NUM SEMI ID EQ ID MULT NUM SEMI Identifier Analysis Other Features Construct Suffix Array (SA) and Longest Common Prefix (LCP) S, P, SAS , LCPS , SAP , LCPP
  5. Framework Framework Framework Framework Code: Language: C Student-quality or Professional-quality

    List of Improvements Parameter-ization: P FLOAT ID3 SEMI INT ID4 EQ D4 SEMI ID3 EQ ID4 MULT F7 SEMI > ProCode( ); Language Info & Rules Duplication Analysis Feature Extraction Syntax Tokenization: S TYPE ID SEMI TYPE ID EQ NUM SEMI ID EQ ID MULT NUM SEMI Identifier Analysis Other Features Construct Suffix Array (SA) and Longest Common Prefix (LCP) Gradient Boosting Classifier S, P, SAS , LCPS , SAP , LCPP
  6. Performance Performance Performance Performance • Achieved 86% AUC on labeled

    C-code from • “Professional” = Top-rated repository • “Student” = Academic repository • Classifier uses “good habit” features • Creative variable names • Limited redundancy, pros write functions! • … x textLen x+y*x-z a+b*a-c = p vs.
  7. Hard-Coded #s Frequency 60 108 1000 45 1000000 38 24

    36 2 29 … … Data Story Data Story Data Story Data Story Everybody needs Students are better with constants! numpy’s : datetime.c > ProCode( );
  8. Drug Adverse Reaction Detection Drug Adverse Reaction Detection Drug Adverse

    Reaction Detection Drug Adverse Reaction Detection = p Parameterized Pattern Matching Parameterized Pattern Matching Parameterized Pattern Matching Parameterized Pattern Matching Official FDA ACTION Richard Beal Richard Beal Richard Beal Richard Beal PhD PhD PhD PhD Computer Computer Computer Computer Science Science Science Science