Repository logo

Infoscience

  • English
  • French
Log In
Logo EPFL, École polytechnique fédérale de Lausanne

Infoscience

  • English
  • French
Log In
  1. Home
  2. Academic and Research Output
  3. Reports, Documentation, and Standards
  4. On Fast Code Completion using Type Inhabitation
 
report

On Fast Code Completion using Type Inhabitation

Gvero, Tihomir  
•
Kuncak, Viktor  orcid-logo
•
Kuraj, Ivan  
Show more
2012

Developing modern software applications typically involves composing functionality from existing libraries. This task is difficult because libraries may expose many methods to the developer. To help developers in such scenarios, we present a technique that synthesizes and suggests valid expressions of a given type at a given program point. As the basis of our technique we use type reconstruction for lambda calculus with subtyping. We show that the inhabitation problem in the presence of subtyping remains PSPACE-complete. We introduce a succinct representation for type judgements that merges types into equivalence classes to reduce the search space. We introduce a proof rule on this succinct representation of types and show that it is sound and complete for inhabitation. We implemented the resulting algorithm and deployed it as a plugin for the Eclipse IDE for Scala.

  • Files
  • Details
  • Metrics
Type
report
Author(s)
Gvero, Tihomir  
Kuncak, Viktor  orcid-logo
Kuraj, Ivan  
Piskac, Ruzica  
Date Issued

2012

Total of pages

11

Subjects

Type Inhabitation

•

InSynth

•

Program Synthesis

Written at

EPFL

EPFL units
LARA  
Available on Infoscience
July 16, 2012
Use this identifier to reference this record
https://infoscience.epfl.ch/handle/20.500.14299/83944
Logo EPFL, École polytechnique fédérale de Lausanne
  • Contact
  • infoscience@epfl.ch

  • Follow us on Facebook
  • Follow us on Instagram
  • Follow us on LinkedIn
  • Follow us on X
  • Follow us on Youtube
AccessibilityLegal noticePrivacy policyCookie settingsEnd User AgreementGet helpFeedback

Infoscience is a service managed and provided by the Library and IT Services of EPFL. © EPFL, tous droits réservés