Building JavaScript statistical linting service on cloud based integrated development environment
People tend to make mistakes. For software developers, they build wonderful tools to correct themselves from making mistakes. An Integrated Development Environment provides linting service to analyse source codes programmed by users. Traditionally, source codes will be analysed, information regardin...
Saved in:
Main Author: | |
---|---|
Other Authors: | |
Format: | Final Year Project |
Language: | English |
Published: |
2015
|
Subjects: | |
Online Access: | http://hdl.handle.net/10356/62695 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Institution: | Nanyang Technological University |
Language: | English |
Summary: | People tend to make mistakes. For software developers, they build wonderful tools to correct themselves from making mistakes. An Integrated Development Environment provides linting service to analyse source codes programmed by users. Traditionally, source codes will be analysed, information regarding syntax error, compilation error and simple runtime issue could be drawn. Notification will be presented to user and errors are corrected. However, there are norms and common practices that are neither documented nor discussed in the field of software programming. Violating these norms and common practices are usually syntactically correct but pose huge problems on readability and maintenance of source code project. In this report, we have discussed the implementation of statistical linting approach proposed by Ethan Fast, Daniel Steffee, Lucy Wang, Joel Brandt, and Michael S. Bernstein in their paper “Emergent, Crowd-scale Programming Practice in the IDE”. [1] This approach provides a lot more flexibility and dynamics on providing notification to programmers. By tuning linting service with data mining technique, we are able to provide a more customized linting service for different developers. The implementation is developed for JavaScript linting and it is based on Cloud9 Cloud IDE platform. Technically, it could be extend to any programming language as long as tools for abstract syntax tree conversion are available. By running through designed test cases, the system are able to solve linting issues that are not solvable by traditional linting service. However, the implementation is rather preliminary, we still face a lot of limitation. The database does not support huge set of data at this point. The data mining technique we have implemented does not support complex association. Future works could be done on improvement of database efficiency and data mining technique. |
---|