Your browser does not support JavaScript!

Home    More informative untyped IntelliSense with type carriers  

Results - Details

Add to Basket
[Add to Basket]
Identifier 000441098
Title More informative untyped IntelliSense with type carriers
Alternative Title Βελτιωμένο IntelliSense με μεταφορείς τύπων
Author Ντούλας, Μάριος Γ.
Thesis advisor Σαββίδης, Αντώνιος
Reviewer Μαρκάτος, Ευάγγελος
Πρατικάκης, Πολύβιος
Abstract IntelliSense has a major impact in the development process. The automations during source code editing assist developers in navigating, understanding, avoiding errors, and speeding-up the overall editing process. Currently, the use of untyped languages and the quantity of untyped code in software systems tends to escalate, including the deployment of third-party untyped code libraries. However, many errors are still shadowed by the dynamic nature of untyped code making semantic analysis a difficult and sometimes undecidable job. While there are typed language extensions, and sometimes newer versions introducing class-based constructs, not only there is still a lot of untyped legacy code, but many programmers prefer the abstraction flexibility and expressive economy of the untyped universe, although acknowledging this is traded for lack of type safety. In this context we believe there is a need for improved editing tools capable to analyze and evaluate incrementally the source code fragments of untyped languages while being edited, which eventually deliver more informative on-demand type feedback to programmers. We present the techniques for the semantic analysis of untyped source code during editing focusing on the JavaScript language. Our system is implemented on top of the Visual Studio Code IDE and exploits the editor extension hooks offered by the Language Server Protocol for incremental parsing and editing automations. Our approach is based on the notion of type carriers which are associated to instructions that change the value or the type of a variable, and their chaining during editing in a way enabling to precisely track from any given source location the stack of active type carriers per symbol, thus being able to on-demand tell its plausible context-dependent type.
Language English
Subject Incremental parsing
Integrated development environments
Javascript
Language server protocol
Programming languages
Source code editing automations
Αυτοματισμοί κατά την επεξεργασία πηγαίου κώδικα
Γλώσσες προγραμματισμού
Ολοκληρωμένα περιβάλλοντα προγραμματισμού
Issue date 2021-07-30
Collection   School/Department--School of Sciences and Engineering--Department of Computer Science--Post-graduate theses
  Type of Work--Post-graduate theses
Views 562

Digital Documents
No preview available

Download document
View document
Views : 6