SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Downloaden Sie, um offline zu lesen
A Lightweight Approach
 to Uncover Technical
     Information in
   Unstructured Data
 Nicolas Bettenburg, Bram Adams, Ahmed E. Hassan
            Queen’s University, Kingston, ON

                     Michel Smidt
              University of Bremen, Germany


                                                   1
2
The code after "if callback.isAcceleratorInUse
(SWT.ALT | character ) )" inside Eclipse's
MenuManager.java removes the mnemonic, but it seems
like Eclipse should be checking isAcceleratorInUse.




                                                      2
“Our developers have a severe problem.”




                                          3
“Our developers have a severe problem.”


                    NLP
[ Our_PRP$
developers_NNS ])
<: have_VBP :>
([ a_DT
severe_JJ
problem_NN ])._.



                                            3
“Our developers have a severe problem.”


                    NLP
                      pronoun, possessive
[ Our_PRP$
developers_NNS ])
<: have_VBP :>
([ a_DT
severe_JJ
problem_NN ])._.



                                            3
“Our developers have a severe problem.”


                    NLP
                      pronoun, possessive
[ Our_PRP$
                      noun, common, plural
developers_NNS ])
<: have_VBP :>
([ a_DT
severe_JJ
problem_NN ])._.



                                             3
“Our developers have a severe problem.”


                    NLP
                      pronoun, possessive
[ Our_PRP$
                      noun, common, plural
developers_NNS ])
<: have_VBP :>        verb, present tense

([ a_DT               determiner

severe_JJ             adjective, ordinal

problem_NN ])._.      noun, common, singular




                                               3
Structured Text




                  4
NLP?
can’t deal with
the source code parts



PARSERS?
can’t deal with
the natural language parts



                             5
Past Solutions

infoZilla
Bettenburg et al. - MSR’08

         • Based on heuristics
         • Stack Traces
         • Code snippets at block level
         • Patches



                                          6
Past Solutions

Miler
Bacchelli et al. - ICSE’10,
ICPC’10

       • Based on heuristics
       • Classifies lines as source code
       • Classifies documents as containing code
       • Finds class names


                                                  7
Past Solutions

infoZilla                        Miler
Bettenburg et al. - MSR’08       Bacchelli et al. - ICPC’10

  • only specific kinds of technical information!
  • new heuristics to extend (complex, error prone)
  • for some kind of technical information, infeasible




                                                              8
More information:
The code after "if (callback.isAcceleratorInUse(SWT.ALT | character))" inside
Eclipse's MenuManager.java removes the mnemonic, but it seems like Eclipse
should be checking "isAcceleratorInUse" only for top level menumanagers like
File,Edit,...,Help, etc. :

 /* (non-Javadoc)
   * @see org.eclipse.jface.action.IContributionItem#update(java.lang.String)
   */
public void update(String property) {
IContributionItem items[] = getItems();

for (int i = 0; i < items.length; i++) {
items[i].update(property);
}
[...]
}

Any status on this bug?

I'd consider any contributions for M6 (API) or M7 (non-API) [...]

A 3.5 fix would be to make that behaviour optional in MenuManager with API and
off by default early in 3.5, and to have the WorkbenchActionBuilder contributed
MenuManagers and actionSets/editorActions contributed MenuManagers turn it on
(if I can find MenuManagers in the correct place).
                                                                                  9
More information:
The code after "if (callback.isAcceleratorInUse(SWT.ALT | character))" inside
Eclipse's MenuManager.java removes the mnemonic, but it seems like Eclipse
should be checking "isAcceleratorInUse" only for top level menumanagers like
File,Edit,...,Help, etc. :

 /* (non-Javadoc)
   * @see org.eclipse.jface.action.IContributionItem#update(java.lang.String)
   */
public void update(String property) {
IContributionItem items[] = getItems();

for (int i = 0; i < items.length; i++) {
items[i].update(property);
}
[...]
}

Any status on this bug?

I'd consider any contributions for M6 (API) or M7 (non-API) [...]

A 3.5 fix would be to make that behaviour optional in MenuManager with API and
off by default early in 3.5, and to have the WorkbenchActionBuilder contributed
MenuManagers and actionSets/editorActions contributed MenuManagers turn it on
(if I can find MenuManagers in the correct place).
                                                                                  9
More information:
The code after "if (callback.isAcceleratorInUse(SWT.ALT | character))" inside
Eclipse's MenuManager.java removes the mnemonic, but it seems like Eclipse
should be checking "isAcceleratorInUse" only for top level menumanagers like
File,Edit,...,Help, etc. :

 /* (non-Javadoc)
   * @see org.eclipse.jface.action.IContributionItem#update(java.lang.String)
   */
public void update(String property) {


                      Challenge!
IContributionItem items[] = getItems();

for (int i = 0; i < items.length; i++) {
items[i].update(property);
}
[...]
}

Any status on this bug?

I'd consider any contributions for M6 (API) or M7 (non-API) [...]

A 3.5 fix would be to make that behaviour optional in MenuManager with API and
off by default early in 3.5, and to have the WorkbenchActionBuilder contributed
MenuManagers and actionSets/editorActions contributed MenuManagers turn it on
(if I can find MenuManagers in the correct place).
                                                                                  9
Spelling and
  Grammar Checkers

... are really good at finding “what’s not right“ in
               natural language text!




                                                      10
A 3.5 fix would be to make taht behaviour optional in
MenuManager with API and off by default early in 3.5,
and to have the WorkbenchActionBuilder contributed
MenuManagers and actionSets/editorActions
contributed MenuManagers turn it on (if I can find
MenuManagers in the corect place).




                                                        11
A 3.5 fix would be to make taht behaviour optional in
MenuManager with API and off by default early in 3.5,
and to have the WorkbenchActionBuilder contributed
MenuManagers and actionSets/editorActions
contributed MenuManagers turn it on (if I can find
MenuManagers in the corect place).




                                                        12
A 3.5 fix would be to make taht behaviour optional in
MenuManager with API and off by default early in 3.5,
and to have the WorkbenchActionBuilder contributed
MenuManagers and actionSets/editorActions
contributed MenuManagers turn it on (if I can find
MenuManagers in the corect place).



             Actual Spelling Mistakes!


                                                        13
Add Heuristics




                 14
Add Heuristics
H1: Camel Case
   camelCase, CamelCase, CamelCASE, ...




                                          14
Add Heuristics
H1: Camel Case
   camelCase, CamelCase, CamelCASE, ...


H2: Programming Language Keywords
   printf, fork, fi, ...




                                          14
Add Heuristics
H1: Camel Case
   camelCase, CamelCase, CamelCASE, ...


H2: Programming Language Keywords
    printf, fork, fi, ...


H3: Special Characters
    tree();

                                          14
Evaluation

   Manually annotated 20 complete Bug Reports and
              Discussions from ECLIPSE.


Manually annotated 20 complete Email Discussions from
        POSTGRESQL developers Mailing List.




                                                        15
Annotation GUI

                     2




1



                 3




                         16
Precision / Recall

                       T PS i
Precision(Si ) =    T PSi +F PSi


                         T PS i
   Recall(Si ) =     T PSi +F NSi



 TP = We annotated and tool annotated
 FP = Tool annotated, we did not
 FN = We annotated, tool did not
                                        17
Results

Spellchecker    Precision   Recall

   JOrtho        88.01%     64.31%

    Jazzy        84.16%     68.30%

  Hunspell       86.40%     68.34%




                                     18
Results

Spellchecker    Precision   Recall

   JOrtho        88.01%     64.31%

    Jazzy        84.16%     68.30%

  Hunspell       86.40%     68.34%




                                     18
Results

Spellchecker    Precision   Recall

   JOrtho        88.01%     64.31%

    Jazzy        84.16%     68.30%

  Hunspell       86.40%     68.34%


 Hunspell used by OpenOffice and
           Mozilla Suite
                                     18
Comparison
      Line-wise classification of source code


1    Launch the plugin as part of Eclipse IDE 3. Press Alt+H to
2    bring down the Help menu (to go along with our example in #1)
3
4    BUG: Notice "Software Updates" is missing its mnemonic.
5
6    public void update(String property) {
7       IContributionItem items[] = getItems();
8       for (int i = 0; i < items.length; i++) {
9          items[i].update(property);
10      }
11    }
12
13   Any status on this bug?



                                                                     19
Comparison
      Line-wise classification of source code


1    Launch the plugin as part of Eclipse IDE 3. Press Alt+H to
2    bring down the Help menu (to go along with our example in #1)
3
4    BUG: Notice "Software Updates" is missing its mnemonic.
5
6    public void update(String property) {
7       IContributionItem items[] = getItems();
8       for (int i = 0; i < items.length; i++) {
9          items[i].update(property);
10      }
11    }
12
13   Any status on this bug?



                                                                     20
Comparison
Line-wise classification of source code



                   Precision   Recall


 Our approach       89.27%     86.46%


State-of-the-Art    66.13%     69.37%



                                         21
Comparison
Line-wise classification of source code



                   Precision   Recall


 Our approach       89.27%     86.46%


State-of-the-Art    66.13%     69.37%



                                         21
Summary




          22
Summary




          22
Summary




          22
Summary




          22
Summary




          22
masayuki
                                                                                                                                                         reed



    cjcypoi02                                                                                                                                                                                                            dietrich
                steve.england                                                                                                                               corevette
                                                                                                                                                                                                                                 steffen.wilberg
                                                                                                                                                                        davemgarrett
     mmortal03                                                                                  timeless                                                                                                                 mano
                       fittysix
                                                                                                                                                 matspal
                                                                                                                         longsonr
                                                                                                                                                                                       zurtex
                                                                                        matti                                                                                                                                                   edilee
                                                                                                                                                                                                            mconnor
                                                                                                             cwwmozilla                                                                                                    beltzner
                                                                                                   dveditz
             adelfino                                                                                                               zeniko
                                                                                                                                                                                                kliu
                          alice0775
                                                                                                                                                                sziadeh mark.finkle                                                  robert.bugzilla
                                                                                                                                                                                                         philringnalda


             sgautherie.bz                                                                                       kev
                                                                                                                                                                                          faaborg
                                                                                         johnath
                                                                                                                         martijn.martijn

                     jmjeffery        jo.hermans          nrthomas gavin.sharp                                                                                                 polidobj

                                                                                                                   m-wada
                                                                                   jbecerra                                                                                      jdarmochwal
           john.p.baker           jruderman                                                                                                                           mak77
                                                   ria.klaassen
VYV03354                                                               cbook                                                                           bomfog
                                                                                                                                                                                                                                                         dao
                                                                                        elmar.ludwig                         sdaugherty
                                                                                                                                                                               vseerror
     nightstalkerz        l10n                 highmind63                                                                                                            twalker
                                                                                                                                                                                                                                           mh+mozilla
                                                                                                                                                                                                                                                         klaas1988
                                                                                       ehsan     stephen.donner
                                                                  me.at.work
                                                                                                                             phiw
                                            hskupin
                                                                                        ctalbert
                                                             tchung                                                              tomer

                                                                           marcia                                                              timwi                                                                                    rotis
                                                                                                                                                                                                                         uliss

                                                                                                             sylvain.pasche
                                                                                                                               bugzilla
                                                                                                   marco.zehe                                                                                                                 cl-bugs-new2


                                                                                        tonglebeak

                                                    deletesoftware
                                                                           abillings                                                                                                                                                info
                                                                                                                     anselm.meyer

                                                                                        eddy_nigg
                                                                                                                                                                                                                                    matt
                                                                                                                         RainerStroebel
                                      samuel.sidler+old                                                       alex
                                                                      hasham8888

                                                                                                                                                                                                                   aarobertxtr
                                                                                                                                                                                                       manujsabarwal           johnjbarton

                                                          myles7897
                                                                                                                 paulc
                                                                                                                                                                                                                          shaver
                                                                                                                                                                                                            smichaud


                                                                                                       mozilla
                                                                                                                  zhangchunlin                                                                                                      dtownsend
                                                                                                                                                                                                                  jdaggett
                                                                                                                                    kbrosnan

                                                                                                                                                                                                                             bzbarsky
                                                                                                                          sdwilsh



                                                                                                                                                                                                                                                                     23
Internet Explorer                                                                                                             reed
                                                                                                                                                                   masayuki




                                                                                                                                                                                                                           dietrich
      cjcypoi02
                  steve.england                                                                                                                               corevette
                                                                                                                                                                                                                                   steffen.wilberg
                                                                                                                                                                          davemgarrett
       mmortal03                                                                                  timeless                                                                                                                 mano
                         fittysix
                                                                                                                                                   matspal
                                                                                                                           longsonr
                                                                                                                                                                                         zurtex
                                                                                          matti                                                                                                                                                   edilee
                                                                                                                                                                                                              mconnor
                                                                                                               cwwmozilla                                                                                                    beltzner
                                                                                                     dveditz
               adelfino                                                                                                               zeniko
                                                                                                                                                                                                  kliu
                            alice0775
                                                                                                                                                                  sziadeh mark.finkle                                                  robert.bugzilla
                                                                                                                                                                                                           philringnalda


               sgautherie.bz                                                                                       kev
                                                                                                                                                                                            faaborg
                                                                                           johnath
                                                                                                                           martijn.martijn
                                                            nrthomas gavin.sharp

                                                                                                                                                                                                         XML Parser
                       jmjeffery        jo.hermans                                                                                                                               polidobj

                                                                                                                     m-wada
                                                                                     jbecerra                                                                                      jdarmochwal
             john.p.baker           jruderman                                                                                                                           mak77
                                                     ria.klaassen
  VYV03354                                                               cbook                                                                           bomfog
                                                                                                                                                                                                                                                           dao
                                                                                          elmar.ludwig                         sdaugherty
                                                                                                                                                                                 vseerror
       nightstalkerz        l10n                 highmind63                                                                                                            twalker
                                                                                                                                                                                                                                             mh+mozilla
                                                                                                                                                                                                                                                           klaas1988
                                                                                         ehsan     stephen.donner
                                                                    me.at.work
                                                                                                                               phiw
                                              hskupin
                                                                                          ctalbert
                                                               tchung                                                              tomer

                                                                             marcia                                                              timwi                                                                                    rotis
                                                                                                                                                                                                                           uliss

                                                                                                               sylvain.pasche
                                                                                                                                 bugzilla


JavaScript
                                                                                                     marco.zehe                                                                                                                 cl-bugs-new2




                                                                                                                                                                                                                                                                 UI
                                                                                          tonglebeak

                                                      deletesoftware
                                                                             abillings                                                                                                                                                info




  Engine
                                                                                                                       anselm.meyer

                                                                                          eddy_nigg
                                                                                                                                                                                                                                      matt
                                                                                                                           RainerStroebel
                                        samuel.sidler+old                                                       alex
                                                                        hasham8888

                                                                                                                                                                                                                     aarobertxtr
                                                                                                                                                                                                         manujsabarwal           johnjbarton

                                                            myles7897
                                                                                                                   paulc
                                                                                                                                                                                                                            shaver
                                                                                                                                                                                                              smichaud


                                                                                                         mozilla
                                                                                                                    zhangchunlin                                                                                                      dtownsend
                                                                                                                                                                                                                    jdaggett
                                                                                                                                      kbrosnan

                                                                                                                                                                                                                               bzbarsky
                                                                                                                            sdwilsh



                                                                                                                                                                                                                                                                       23
24

Weitere ähnliche Inhalte

Was ist angesagt?

20 cool features that is in PHP 7, we missed in PHP 5. Let walkthrough with t...
20 cool features that is in PHP 7, we missed in PHP 5. Let walkthrough with t...20 cool features that is in PHP 7, we missed in PHP 5. Let walkthrough with t...
20 cool features that is in PHP 7, we missed in PHP 5. Let walkthrough with t...DrupalMumbai
 
Vtlib 1.1
Vtlib 1.1Vtlib 1.1
Vtlib 1.1Arun n
 
EPHPC Webinar Slides: Unit Testing by Arthur Purnama
EPHPC Webinar Slides: Unit Testing by Arthur PurnamaEPHPC Webinar Slides: Unit Testing by Arthur Purnama
EPHPC Webinar Slides: Unit Testing by Arthur PurnamaEnterprise PHP Center
 
Introduction to java Programming
Introduction to java ProgrammingIntroduction to java Programming
Introduction to java ProgrammingAhmed Ayman
 
Unit testing PHP apps with PHPUnit
Unit testing PHP apps with PHPUnitUnit testing PHP apps with PHPUnit
Unit testing PHP apps with PHPUnitMichelangelo van Dam
 
Core Java Tutorials by Mahika Tutorials
Core Java Tutorials by Mahika TutorialsCore Java Tutorials by Mahika Tutorials
Core Java Tutorials by Mahika TutorialsMahika Tutorials
 
Effective testing with pytest
Effective testing with pytestEffective testing with pytest
Effective testing with pytestHector Canto
 

Was ist angesagt? (12)

20 cool features that is in PHP 7, we missed in PHP 5. Let walkthrough with t...
20 cool features that is in PHP 7, we missed in PHP 5. Let walkthrough with t...20 cool features that is in PHP 7, we missed in PHP 5. Let walkthrough with t...
20 cool features that is in PHP 7, we missed in PHP 5. Let walkthrough with t...
 
Bean Intro
Bean IntroBean Intro
Bean Intro
 
Vtlib 1.1
Vtlib 1.1Vtlib 1.1
Vtlib 1.1
 
EPHPC Webinar Slides: Unit Testing by Arthur Purnama
EPHPC Webinar Slides: Unit Testing by Arthur PurnamaEPHPC Webinar Slides: Unit Testing by Arthur Purnama
EPHPC Webinar Slides: Unit Testing by Arthur Purnama
 
Introduction to java Programming
Introduction to java ProgrammingIntroduction to java Programming
Introduction to java Programming
 
Unit testing PHP apps with PHPUnit
Unit testing PHP apps with PHPUnitUnit testing PHP apps with PHPUnit
Unit testing PHP apps with PHPUnit
 
Java Tutorial
Java Tutorial Java Tutorial
Java Tutorial
 
Core Java Tutorials by Mahika Tutorials
Core Java Tutorials by Mahika TutorialsCore Java Tutorials by Mahika Tutorials
Core Java Tutorials by Mahika Tutorials
 
Proyect of english
Proyect of englishProyect of english
Proyect of english
 
Effective testing with pytest
Effective testing with pytestEffective testing with pytest
Effective testing with pytest
 
Java Programming
Java ProgrammingJava Programming
Java Programming
 
introduction of Java beans
introduction of Java beansintroduction of Java beans
introduction of Java beans
 

Andere mochten auch

Cloning Considered Harmful Considered Harmful
Cloning Considered Harmful Considered HarmfulCloning Considered Harmful Considered Harmful
Cloning Considered Harmful Considered HarmfulNicolas Bettenburg
 
Automatic Identification of Bug Introducing Changes
Automatic Identification of Bug Introducing ChangesAutomatic Identification of Bug Introducing Changes
Automatic Identification of Bug Introducing ChangesNicolas Bettenburg
 
An Empirical Study on the Risks of Using Off-the-Shelf Techniques for Process...
An Empirical Study on the Risks of Using Off-the-Shelf Techniques for Process...An Empirical Study on the Risks of Using Off-the-Shelf Techniques for Process...
An Empirical Study on the Risks of Using Off-the-Shelf Techniques for Process...Nicolas Bettenburg
 
An Empirical Study on Inconsistent Changes to Code Clones at Release Level
An Empirical Study on Inconsistent Changes to Code Clones at Release LevelAn Empirical Study on Inconsistent Changes to Code Clones at Release Level
An Empirical Study on Inconsistent Changes to Code Clones at Release LevelNicolas Bettenburg
 
Studying the impact of Social Structures on Software Quality
Studying the impact of Social Structures on Software QualityStudying the impact of Social Structures on Software Quality
Studying the impact of Social Structures on Software QualityNicolas Bettenburg
 
Mining Development Repositories to Study the Impact of Collaboration on Softw...
Mining Development Repositories to Study the Impact of Collaboration on Softw...Mining Development Repositories to Study the Impact of Collaboration on Softw...
Mining Development Repositories to Study the Impact of Collaboration on Softw...Nicolas Bettenburg
 
Finding Paths in Large Spaces - A* and Hierarchical A*
Finding Paths in Large Spaces - A* and Hierarchical A*Finding Paths in Large Spaces - A* and Hierarchical A*
Finding Paths in Large Spaces - A* and Hierarchical A*Nicolas Bettenburg
 
Ph.D. Dissertation - Studying the Impact of Developer Communication on the Qu...
Ph.D. Dissertation - Studying the Impact of Developer Communication on the Qu...Ph.D. Dissertation - Studying the Impact of Developer Communication on the Qu...
Ph.D. Dissertation - Studying the Impact of Developer Communication on the Qu...Nicolas Bettenburg
 
Think Locally, Act Gobally - Improving Defect and Effort Prediction Models
Think Locally, Act Gobally - Improving Defect and Effort Prediction ModelsThink Locally, Act Gobally - Improving Defect and Effort Prediction Models
Think Locally, Act Gobally - Improving Defect and Effort Prediction ModelsNicolas Bettenburg
 
The Quality of Bug Reports in Eclipse ETX'07
The Quality of Bug Reports in Eclipse ETX'07The Quality of Bug Reports in Eclipse ETX'07
The Quality of Bug Reports in Eclipse ETX'07Nicolas Bettenburg
 
Duplicate Bug Reports Considered Harmful ... Really?
Duplicate Bug Reports Considered Harmful ... Really?Duplicate Bug Reports Considered Harmful ... Really?
Duplicate Bug Reports Considered Harmful ... Really?Nicolas Bettenburg
 
Computing Accuracy Precision And Recall
Computing Accuracy Precision And RecallComputing Accuracy Precision And Recall
Computing Accuracy Precision And RecallNicolas Bettenburg
 

Andere mochten auch (14)

Cloning Considered Harmful Considered Harmful
Cloning Considered Harmful Considered HarmfulCloning Considered Harmful Considered Harmful
Cloning Considered Harmful Considered Harmful
 
Automatic Identification of Bug Introducing Changes
Automatic Identification of Bug Introducing ChangesAutomatic Identification of Bug Introducing Changes
Automatic Identification of Bug Introducing Changes
 
An Empirical Study on the Risks of Using Off-the-Shelf Techniques for Process...
An Empirical Study on the Risks of Using Off-the-Shelf Techniques for Process...An Empirical Study on the Risks of Using Off-the-Shelf Techniques for Process...
An Empirical Study on the Risks of Using Off-the-Shelf Techniques for Process...
 
An Empirical Study on Inconsistent Changes to Code Clones at Release Level
An Empirical Study on Inconsistent Changes to Code Clones at Release LevelAn Empirical Study on Inconsistent Changes to Code Clones at Release Level
An Empirical Study on Inconsistent Changes to Code Clones at Release Level
 
Mud flash
Mud flashMud flash
Mud flash
 
Studying the impact of Social Structures on Software Quality
Studying the impact of Social Structures on Software QualityStudying the impact of Social Structures on Software Quality
Studying the impact of Social Structures on Software Quality
 
Mining Development Repositories to Study the Impact of Collaboration on Softw...
Mining Development Repositories to Study the Impact of Collaboration on Softw...Mining Development Repositories to Study the Impact of Collaboration on Softw...
Mining Development Repositories to Study the Impact of Collaboration on Softw...
 
Finding Paths in Large Spaces - A* and Hierarchical A*
Finding Paths in Large Spaces - A* and Hierarchical A*Finding Paths in Large Spaces - A* and Hierarchical A*
Finding Paths in Large Spaces - A* and Hierarchical A*
 
Ph.D. Dissertation - Studying the Impact of Developer Communication on the Qu...
Ph.D. Dissertation - Studying the Impact of Developer Communication on the Qu...Ph.D. Dissertation - Studying the Impact of Developer Communication on the Qu...
Ph.D. Dissertation - Studying the Impact of Developer Communication on the Qu...
 
Think Locally, Act Gobally - Improving Defect and Effort Prediction Models
Think Locally, Act Gobally - Improving Defect and Effort Prediction ModelsThink Locally, Act Gobally - Improving Defect and Effort Prediction Models
Think Locally, Act Gobally - Improving Defect and Effort Prediction Models
 
The Quality of Bug Reports in Eclipse ETX'07
The Quality of Bug Reports in Eclipse ETX'07The Quality of Bug Reports in Eclipse ETX'07
The Quality of Bug Reports in Eclipse ETX'07
 
Duplicate Bug Reports Considered Harmful ... Really?
Duplicate Bug Reports Considered Harmful ... Really?Duplicate Bug Reports Considered Harmful ... Really?
Duplicate Bug Reports Considered Harmful ... Really?
 
Computing Accuracy Precision And Recall
Computing Accuracy Precision And RecallComputing Accuracy Precision And Recall
Computing Accuracy Precision And Recall
 
Fuzzy Logic in Smart Homes
Fuzzy Logic in Smart HomesFuzzy Logic in Smart Homes
Fuzzy Logic in Smart Homes
 

Ähnlich wie A Lightweight Approach to Uncover Technical Information in Unstructured Data

Bettenburg icpc2011
Bettenburg icpc2011Bettenburg icpc2011
Bettenburg icpc2011SAIL_QU
 
1183 c-interview-questions-and-answers
1183 c-interview-questions-and-answers1183 c-interview-questions-and-answers
1183 c-interview-questions-and-answersAkash Gawali
 
JavaOne 2007 - TS4721
JavaOne 2007 - TS4721 JavaOne 2007 - TS4721
JavaOne 2007 - TS4721 Edgar Silva
 
C++ Interview Question And Answer
C++ Interview Question And AnswerC++ Interview Question And Answer
C++ Interview Question And AnswerJagan Mohan Bishoyi
 
C++ questions And Answer
C++ questions And AnswerC++ questions And Answer
C++ questions And Answerlavparmar007
 
Automated bug localization
Automated bug localizationAutomated bug localization
Automated bug localizationXin Ye
 
JDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go Wrong
JDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go WrongJDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go Wrong
JDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go WrongPROIDEA
 
DotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NETDotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NETMaarten Balliauw
 
Boo Manifesto
Boo ManifestoBoo Manifesto
Boo Manifestohu hans
 
Python Programming - II. The Basics
Python Programming - II. The BasicsPython Programming - II. The Basics
Python Programming - II. The BasicsRanel Padon
 
C, C++ Interview Questions Part - 1
C, C++ Interview Questions Part - 1C, C++ Interview Questions Part - 1
C, C++ Interview Questions Part - 1ReKruiTIn.com
 
Knowledge of Javascript
Knowledge of JavascriptKnowledge of Javascript
Knowledge of JavascriptSamuel Abraham
 
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...DRVaibhavmeshram1
 
Python Interview Questions For Experienced
Python Interview Questions For ExperiencedPython Interview Questions For Experienced
Python Interview Questions For Experiencedzynofustechnology
 
Mastering Python lesson 4_functions_parameters_arguments
Mastering Python lesson 4_functions_parameters_argumentsMastering Python lesson 4_functions_parameters_arguments
Mastering Python lesson 4_functions_parameters_argumentsRuth Marvin
 
Software Uni Conf October 2014
Software Uni Conf October 2014Software Uni Conf October 2014
Software Uni Conf October 2014Nayden Gochev
 

Ähnlich wie A Lightweight Approach to Uncover Technical Information in Unstructured Data (20)

Bettenburg icpc2011
Bettenburg icpc2011Bettenburg icpc2011
Bettenburg icpc2011
 
1183 c-interview-questions-and-answers
1183 c-interview-questions-and-answers1183 c-interview-questions-and-answers
1183 c-interview-questions-and-answers
 
What's new in Java EE 6
What's new in Java EE 6What's new in Java EE 6
What's new in Java EE 6
 
JavaOne 2007 - TS4721
JavaOne 2007 - TS4721 JavaOne 2007 - TS4721
JavaOne 2007 - TS4721
 
C++ Interview Question And Answer
C++ Interview Question And AnswerC++ Interview Question And Answer
C++ Interview Question And Answer
 
C++ questions And Answer
C++ questions And AnswerC++ questions And Answer
C++ questions And Answer
 
Automated bug localization
Automated bug localizationAutomated bug localization
Automated bug localization
 
JDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go Wrong
JDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go WrongJDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go Wrong
JDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go Wrong
 
Python_UNIT-I.pptx
Python_UNIT-I.pptxPython_UNIT-I.pptx
Python_UNIT-I.pptx
 
Python master class 2
Python master class 2Python master class 2
Python master class 2
 
DotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NETDotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NET
 
Boo Manifesto
Boo ManifestoBoo Manifesto
Boo Manifesto
 
Python Programming - II. The Basics
Python Programming - II. The BasicsPython Programming - II. The Basics
Python Programming - II. The Basics
 
C, C++ Interview Questions Part - 1
C, C++ Interview Questions Part - 1C, C++ Interview Questions Part - 1
C, C++ Interview Questions Part - 1
 
Knowledge of Javascript
Knowledge of JavascriptKnowledge of Javascript
Knowledge of Javascript
 
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
 
Python Interview Questions For Experienced
Python Interview Questions For ExperiencedPython Interview Questions For Experienced
Python Interview Questions For Experienced
 
Mastering Python lesson 4_functions_parameters_arguments
Mastering Python lesson 4_functions_parameters_argumentsMastering Python lesson 4_functions_parameters_arguments
Mastering Python lesson 4_functions_parameters_arguments
 
Java 8 Overview
Java 8 OverviewJava 8 Overview
Java 8 Overview
 
Software Uni Conf October 2014
Software Uni Conf October 2014Software Uni Conf October 2014
Software Uni Conf October 2014
 

Mehr von Nicolas Bettenburg

10 Year Impact Award Presentation - Duplicate Bug Reports Considered Harmful ...
10 Year Impact Award Presentation - Duplicate Bug Reports Considered Harmful ...10 Year Impact Award Presentation - Duplicate Bug Reports Considered Harmful ...
10 Year Impact Award Presentation - Duplicate Bug Reports Considered Harmful ...Nicolas Bettenburg
 
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source CodeUsing Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source CodeNicolas Bettenburg
 
Managing Community Contributions: Lessons Learned from a Case Study on Andro...
Managing Community Contributions:  Lessons Learned from a Case Study on Andro...Managing Community Contributions:  Lessons Learned from a Case Study on Andro...
Managing Community Contributions: Lessons Learned from a Case Study on Andro...Nicolas Bettenburg
 
Predictors of Customer Perceived Quality
Predictors of Customer Perceived QualityPredictors of Customer Perceived Quality
Predictors of Customer Perceived QualityNicolas Bettenburg
 
Extracting Structural Information from Bug Reports.
Extracting Structural Information from Bug Reports.Extracting Structural Information from Bug Reports.
Extracting Structural Information from Bug Reports.Nicolas Bettenburg
 

Mehr von Nicolas Bettenburg (7)

10 Year Impact Award Presentation - Duplicate Bug Reports Considered Harmful ...
10 Year Impact Award Presentation - Duplicate Bug Reports Considered Harmful ...10 Year Impact Award Presentation - Duplicate Bug Reports Considered Harmful ...
10 Year Impact Award Presentation - Duplicate Bug Reports Considered Harmful ...
 
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source CodeUsing Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
 
Managing Community Contributions: Lessons Learned from a Case Study on Andro...
Managing Community Contributions:  Lessons Learned from a Case Study on Andro...Managing Community Contributions:  Lessons Learned from a Case Study on Andro...
Managing Community Contributions: Lessons Learned from a Case Study on Andro...
 
Approximation Algorithms
Approximation AlgorithmsApproximation Algorithms
Approximation Algorithms
 
Predictors of Customer Perceived Quality
Predictors of Customer Perceived QualityPredictors of Customer Perceived Quality
Predictors of Customer Perceived Quality
 
Extracting Structural Information from Bug Reports.
Extracting Structural Information from Bug Reports.Extracting Structural Information from Bug Reports.
Extracting Structural Information from Bug Reports.
 
Metropolis Instant Radiosity
Metropolis Instant RadiosityMetropolis Instant Radiosity
Metropolis Instant Radiosity
 

Kürzlich hochgeladen

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 

Kürzlich hochgeladen (20)

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 

A Lightweight Approach to Uncover Technical Information in Unstructured Data

  • 1. A Lightweight Approach to Uncover Technical Information in Unstructured Data Nicolas Bettenburg, Bram Adams, Ahmed E. Hassan Queen’s University, Kingston, ON Michel Smidt University of Bremen, Germany 1
  • 2. 2
  • 3. The code after "if callback.isAcceleratorInUse (SWT.ALT | character ) )" inside Eclipse's MenuManager.java removes the mnemonic, but it seems like Eclipse should be checking isAcceleratorInUse. 2
  • 4. “Our developers have a severe problem.” 3
  • 5. “Our developers have a severe problem.” NLP [ Our_PRP$ developers_NNS ]) <: have_VBP :> ([ a_DT severe_JJ problem_NN ])._. 3
  • 6. “Our developers have a severe problem.” NLP pronoun, possessive [ Our_PRP$ developers_NNS ]) <: have_VBP :> ([ a_DT severe_JJ problem_NN ])._. 3
  • 7. “Our developers have a severe problem.” NLP pronoun, possessive [ Our_PRP$ noun, common, plural developers_NNS ]) <: have_VBP :> ([ a_DT severe_JJ problem_NN ])._. 3
  • 8. “Our developers have a severe problem.” NLP pronoun, possessive [ Our_PRP$ noun, common, plural developers_NNS ]) <: have_VBP :> verb, present tense ([ a_DT determiner severe_JJ adjective, ordinal problem_NN ])._. noun, common, singular 3
  • 10. NLP? can’t deal with the source code parts PARSERS? can’t deal with the natural language parts 5
  • 11. Past Solutions infoZilla Bettenburg et al. - MSR’08 • Based on heuristics • Stack Traces • Code snippets at block level • Patches 6
  • 12. Past Solutions Miler Bacchelli et al. - ICSE’10, ICPC’10 • Based on heuristics • Classifies lines as source code • Classifies documents as containing code • Finds class names 7
  • 13. Past Solutions infoZilla Miler Bettenburg et al. - MSR’08 Bacchelli et al. - ICPC’10 • only specific kinds of technical information! • new heuristics to extend (complex, error prone) • for some kind of technical information, infeasible 8
  • 14. More information: The code after "if (callback.isAcceleratorInUse(SWT.ALT | character))" inside Eclipse's MenuManager.java removes the mnemonic, but it seems like Eclipse should be checking "isAcceleratorInUse" only for top level menumanagers like File,Edit,...,Help, etc. : /* (non-Javadoc) * @see org.eclipse.jface.action.IContributionItem#update(java.lang.String) */ public void update(String property) { IContributionItem items[] = getItems(); for (int i = 0; i < items.length; i++) { items[i].update(property); } [...] } Any status on this bug? I'd consider any contributions for M6 (API) or M7 (non-API) [...] A 3.5 fix would be to make that behaviour optional in MenuManager with API and off by default early in 3.5, and to have the WorkbenchActionBuilder contributed MenuManagers and actionSets/editorActions contributed MenuManagers turn it on (if I can find MenuManagers in the correct place). 9
  • 15. More information: The code after "if (callback.isAcceleratorInUse(SWT.ALT | character))" inside Eclipse's MenuManager.java removes the mnemonic, but it seems like Eclipse should be checking "isAcceleratorInUse" only for top level menumanagers like File,Edit,...,Help, etc. : /* (non-Javadoc) * @see org.eclipse.jface.action.IContributionItem#update(java.lang.String) */ public void update(String property) { IContributionItem items[] = getItems(); for (int i = 0; i < items.length; i++) { items[i].update(property); } [...] } Any status on this bug? I'd consider any contributions for M6 (API) or M7 (non-API) [...] A 3.5 fix would be to make that behaviour optional in MenuManager with API and off by default early in 3.5, and to have the WorkbenchActionBuilder contributed MenuManagers and actionSets/editorActions contributed MenuManagers turn it on (if I can find MenuManagers in the correct place). 9
  • 16. More information: The code after "if (callback.isAcceleratorInUse(SWT.ALT | character))" inside Eclipse's MenuManager.java removes the mnemonic, but it seems like Eclipse should be checking "isAcceleratorInUse" only for top level menumanagers like File,Edit,...,Help, etc. : /* (non-Javadoc) * @see org.eclipse.jface.action.IContributionItem#update(java.lang.String) */ public void update(String property) { Challenge! IContributionItem items[] = getItems(); for (int i = 0; i < items.length; i++) { items[i].update(property); } [...] } Any status on this bug? I'd consider any contributions for M6 (API) or M7 (non-API) [...] A 3.5 fix would be to make that behaviour optional in MenuManager with API and off by default early in 3.5, and to have the WorkbenchActionBuilder contributed MenuManagers and actionSets/editorActions contributed MenuManagers turn it on (if I can find MenuManagers in the correct place). 9
  • 17. Spelling and Grammar Checkers ... are really good at finding “what’s not right“ in natural language text! 10
  • 18. A 3.5 fix would be to make taht behaviour optional in MenuManager with API and off by default early in 3.5, and to have the WorkbenchActionBuilder contributed MenuManagers and actionSets/editorActions contributed MenuManagers turn it on (if I can find MenuManagers in the corect place). 11
  • 19. A 3.5 fix would be to make taht behaviour optional in MenuManager with API and off by default early in 3.5, and to have the WorkbenchActionBuilder contributed MenuManagers and actionSets/editorActions contributed MenuManagers turn it on (if I can find MenuManagers in the corect place). 12
  • 20. A 3.5 fix would be to make taht behaviour optional in MenuManager with API and off by default early in 3.5, and to have the WorkbenchActionBuilder contributed MenuManagers and actionSets/editorActions contributed MenuManagers turn it on (if I can find MenuManagers in the corect place). Actual Spelling Mistakes! 13
  • 22. Add Heuristics H1: Camel Case camelCase, CamelCase, CamelCASE, ... 14
  • 23. Add Heuristics H1: Camel Case camelCase, CamelCase, CamelCASE, ... H2: Programming Language Keywords printf, fork, fi, ... 14
  • 24. Add Heuristics H1: Camel Case camelCase, CamelCase, CamelCASE, ... H2: Programming Language Keywords printf, fork, fi, ... H3: Special Characters tree(); 14
  • 25. Evaluation Manually annotated 20 complete Bug Reports and Discussions from ECLIPSE. Manually annotated 20 complete Email Discussions from POSTGRESQL developers Mailing List. 15
  • 26. Annotation GUI 2 1 3 16
  • 27. Precision / Recall T PS i Precision(Si ) = T PSi +F PSi T PS i Recall(Si ) = T PSi +F NSi TP = We annotated and tool annotated FP = Tool annotated, we did not FN = We annotated, tool did not 17
  • 28. Results Spellchecker Precision Recall JOrtho 88.01% 64.31% Jazzy 84.16% 68.30% Hunspell 86.40% 68.34% 18
  • 29. Results Spellchecker Precision Recall JOrtho 88.01% 64.31% Jazzy 84.16% 68.30% Hunspell 86.40% 68.34% 18
  • 30. Results Spellchecker Precision Recall JOrtho 88.01% 64.31% Jazzy 84.16% 68.30% Hunspell 86.40% 68.34% Hunspell used by OpenOffice and Mozilla Suite 18
  • 31. Comparison Line-wise classification of source code 1 Launch the plugin as part of Eclipse IDE 3. Press Alt+H to 2 bring down the Help menu (to go along with our example in #1) 3 4 BUG: Notice "Software Updates" is missing its mnemonic. 5 6 public void update(String property) { 7 IContributionItem items[] = getItems(); 8 for (int i = 0; i < items.length; i++) { 9 items[i].update(property); 10 } 11 } 12 13 Any status on this bug? 19
  • 32. Comparison Line-wise classification of source code 1 Launch the plugin as part of Eclipse IDE 3. Press Alt+H to 2 bring down the Help menu (to go along with our example in #1) 3 4 BUG: Notice "Software Updates" is missing its mnemonic. 5 6 public void update(String property) { 7 IContributionItem items[] = getItems(); 8 for (int i = 0; i < items.length; i++) { 9 items[i].update(property); 10 } 11 } 12 13 Any status on this bug? 20
  • 33. Comparison Line-wise classification of source code Precision Recall Our approach 89.27% 86.46% State-of-the-Art 66.13% 69.37% 21
  • 34. Comparison Line-wise classification of source code Precision Recall Our approach 89.27% 86.46% State-of-the-Art 66.13% 69.37% 21
  • 35. Summary 22
  • 36. Summary 22
  • 37. Summary 22
  • 38. Summary 22
  • 39. Summary 22
  • 40. masayuki reed cjcypoi02 dietrich steve.england corevette steffen.wilberg davemgarrett mmortal03 timeless mano fittysix matspal longsonr zurtex matti edilee mconnor cwwmozilla beltzner dveditz adelfino zeniko kliu alice0775 sziadeh mark.finkle robert.bugzilla philringnalda sgautherie.bz kev faaborg johnath martijn.martijn jmjeffery jo.hermans nrthomas gavin.sharp polidobj m-wada jbecerra jdarmochwal john.p.baker jruderman mak77 ria.klaassen VYV03354 cbook bomfog dao elmar.ludwig sdaugherty vseerror nightstalkerz l10n highmind63 twalker mh+mozilla klaas1988 ehsan stephen.donner me.at.work phiw hskupin ctalbert tchung tomer marcia timwi rotis uliss sylvain.pasche bugzilla marco.zehe cl-bugs-new2 tonglebeak deletesoftware abillings info anselm.meyer eddy_nigg matt RainerStroebel samuel.sidler+old alex hasham8888 aarobertxtr manujsabarwal johnjbarton myles7897 paulc shaver smichaud mozilla zhangchunlin dtownsend jdaggett kbrosnan bzbarsky sdwilsh 23
  • 41. Internet Explorer reed masayuki dietrich cjcypoi02 steve.england corevette steffen.wilberg davemgarrett mmortal03 timeless mano fittysix matspal longsonr zurtex matti edilee mconnor cwwmozilla beltzner dveditz adelfino zeniko kliu alice0775 sziadeh mark.finkle robert.bugzilla philringnalda sgautherie.bz kev faaborg johnath martijn.martijn nrthomas gavin.sharp XML Parser jmjeffery jo.hermans polidobj m-wada jbecerra jdarmochwal john.p.baker jruderman mak77 ria.klaassen VYV03354 cbook bomfog dao elmar.ludwig sdaugherty vseerror nightstalkerz l10n highmind63 twalker mh+mozilla klaas1988 ehsan stephen.donner me.at.work phiw hskupin ctalbert tchung tomer marcia timwi rotis uliss sylvain.pasche bugzilla JavaScript marco.zehe cl-bugs-new2 UI tonglebeak deletesoftware abillings info Engine anselm.meyer eddy_nigg matt RainerStroebel samuel.sidler+old alex hasham8888 aarobertxtr manujsabarwal johnjbarton myles7897 paulc shaver smichaud mozilla zhangchunlin dtownsend jdaggett kbrosnan bzbarsky sdwilsh 23
  • 42. 24