analyses model using natural language...

17
CODE ANALYSES USING NATURAL LANGUAGE QUESTIONS Software Composition Seminar Student: Michael Zbinden Supervisor: Pooja Rani 29. May 2018

Upload: others

Post on 07-Oct-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Analyses Model Using Natural Language Questionsscg.unibe.ch/download/softwarecomposition/2018-05-29-Zbinden-Co… · Atl parameterized types - Alt famixparameterizedtypes All parameters

CODE ANALYSES USING

NATURAL LANGUAGE

QUESTIONS

Software Composition Seminar

Student: Michael Zbinden

Supervisor: Pooja Rani

29. May 2018

Page 2: Analyses Model Using Natural Language Questionsscg.unibe.ch/download/softwarecomposition/2018-05-29-Zbinden-Co… · Atl parameterized types - Alt famixparameterizedtypes All parameters

Problem

• Huge code base

• Finding classes

• Example: What are the deprecated classes?

2

Page 3: Analyses Model Using Natural Language Questionsscg.unibe.ch/download/softwarecomposition/2018-05-29-Zbinden-Co… · Atl parameterized types - Alt famixparameterizedtypes All parameters

Tools Support

• IntelliJ Search

3

Page 4: Analyses Model Using Natural Language Questionsscg.unibe.ch/download/softwarecomposition/2018-05-29-Zbinden-Co… · Atl parameterized types - Alt famixparameterizedtypes All parameters

Tools Support

• Eclipse Search

4

Page 5: Analyses Model Using Natural Language Questionsscg.unibe.ch/download/softwarecomposition/2018-05-29-Zbinden-Co… · Atl parameterized types - Alt famixparameterizedtypes All parameters

Moose

5

Page 6: Analyses Model Using Natural Language Questionsscg.unibe.ch/download/softwarecomposition/2018-05-29-Zbinden-Co… · Atl parameterized types - Alt famixparameterizedtypes All parameters

Visualize code in Moose

6

Page 7: Analyses Model Using Natural Language Questionsscg.unibe.ch/download/softwarecomposition/2018-05-29-Zbinden-Co… · Atl parameterized types - Alt famixparameterizedtypes All parameters

Software Representation

7

Page 8: Analyses Model Using Natural Language Questionsscg.unibe.ch/download/softwarecomposition/2018-05-29-Zbinden-Co… · Atl parameterized types - Alt famixparameterizedtypes All parameters

Challenges

• Learn about tool

• Know the meta-model

• Learn query language

• Barrier

8

Page 9: Analyses Model Using Natural Language Questionsscg.unibe.ch/download/softwarecomposition/2018-05-29-Zbinden-Co… · Atl parameterized types - Alt famixparameterizedtypes All parameters

Solution

• Smalltalk Code

• Use Natural Language

9

Page 10: Analyses Model Using Natural Language Questionsscg.unibe.ch/download/softwarecomposition/2018-05-29-Zbinden-Co… · Atl parameterized types - Alt famixparameterizedtypes All parameters

Generate Code

• Python experiment

10

Page 11: Analyses Model Using Natural Language Questionsscg.unibe.ch/download/softwarecomposition/2018-05-29-Zbinden-Co… · Atl parameterized types - Alt famixparameterizedtypes All parameters

About Paper

• Translation problem

• Accuracy

• Neural network model

• Model adoption

11

Page 12: Analyses Model Using Natural Language Questionsscg.unibe.ch/download/softwarecomposition/2018-05-29-Zbinden-Co… · Atl parameterized types - Alt famixparameterizedtypes All parameters

Tools used

• Framework: Theano

• Library: NLTK

• AST: astor

• Language: Python

12

Page 13: Analyses Model Using Natural Language Questionsscg.unibe.ch/download/softwarecomposition/2018-05-29-Zbinden-Co… · Atl parameterized types - Alt famixparameterizedtypes All parameters

Paper

13

Page 14: Analyses Model Using Natural Language Questionsscg.unibe.ch/download/softwarecomposition/2018-05-29-Zbinden-Co… · Atl parameterized types - Alt famixparameterizedtypes All parameters

Challenges in Running Model

• Complex neural network

• Lots of components

• Running Code

• Dataset available for python

14

Page 15: Analyses Model Using Natural Language Questionsscg.unibe.ch/download/softwarecomposition/2018-05-29-Zbinden-Co… · Atl parameterized types - Alt famixparameterizedtypes All parameters

Findings

• Difficult to prepare dataset

• Creating neural network

• Neural Network libraries

• NLP library

15

Page 16: Analyses Model Using Natural Language Questionsscg.unibe.ch/download/softwarecomposition/2018-05-29-Zbinden-Co… · Atl parameterized types - Alt famixparameterizedtypes All parameters

Learning challenges

• Learning about moose

• Creating a simple query

• Analyzing complex neural network

• Python Dependency

16

Page 17: Analyses Model Using Natural Language Questionsscg.unibe.ch/download/softwarecomposition/2018-05-29-Zbinden-Co… · Atl parameterized types - Alt famixparameterizedtypes All parameters

Future work

• Prepare dataset

• Decoupling Code

• Adapt classes for other datasets

17