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. Conferences, Workshops, Symposiums, and Seminars
  4. Complete Completion using Types and Weights
 
conference paper

Complete Completion using Types and Weights

Gvero, Tihomir  
•
Kuncak, Viktor  orcid-logo
•
Kuraj, Ivan  
Show more
2013
PLDI '13: Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation
34th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)

Developing modern software 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 inhabitation for lambda calculus terms in long normal form. We introduce a succinct representation for type judgements that merges types into equivalence classes to reduce the search space, then reconstructs any desired number of solutions on demand. Furthermore, we introduce a method to rank solutions based on weights derived from a corpus of code. We implemented the algorithm and deployed it as a plugin for the Eclipse IDE for Scala. We show that the techniques we incorporated greatly increase the effectiveness of the approach. Our evaluation benchmarks are code examples from programming practice; we make them available for future comparisons.

  • Files
  • Details
  • Metrics
Type
conference paper
DOI
10.1145/2491956.2462192
Web of Science ID

WOS:000321865400004

Author(s)
Gvero, Tihomir  
Kuncak, Viktor  orcid-logo
Kuraj, Ivan  
Piskac, Ruzica  
Date Issued

2013

Publisher

ACM

Publisher place

New York

Published in
PLDI '13: Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation
Total of pages

12

Start page

27

End page

38

Subjects

Languages

•

Algorithms

•

program synthesis

•

type inhabitation

•

code completion

•

type-driven synthesis

•

ranking

Editorial or Peer reviewed

REVIEWED

Written at

EPFL

EPFL units
LARA  
Event name
34th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)
Available on Infoscience
October 1, 2013
Use this identifier to reference this record
https://infoscience.epfl.ch/handle/20.500.14299/95243
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