Cognition-sensitive design and user modeling for syntax-directed editors
CHI '87 Proceedings of the SIGCHI/GI Conference on Human Factors in Computing Systems and Graphics Interface
Virtual classes: a powerful mechanism in object-oriented programming
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
The Cornell program synthesizer: a syntax-directed programming environment
Communications of the ACM
Microsoft Project/Visual Basic Reference
Microsoft Project/Visual Basic Reference
The Psychology of Menu Selection: Designing Cognitive Control at the Human/Computer Interface
The Psychology of Menu Selection: Designing Cognitive Control at the Human/Computer Interface
Principal type-schemes for functional programs
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Traits: An approach to multiple-inheritance subclassing
Proceedings of the SIGOA conference on Office information systems
Context-Aware Browsing of Large Component Repositories
Proceedings of the 16th IEEE international conference on Automated software engineering
Jungloid mining: helping to navigate the API jungle
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Scalable component abstractions
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Subtext: uncovering the simplicity of programming
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
XSnippet: mining For sample code
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Windows Presentation Foundation Unleashed (WPF) (Unleashed)
Windows Presentation Foundation Unleashed (WPF) (Unleashed)
The Long Tail: Why the Future of Business Is Selling Less of More
The Long Tail: Why the Future of Business Is Selling Less of More
Python for Scientific Computing
Computing in Science and Engineering
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Parseweb: a programmer assistant for reusing open source code on the web
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Sourcerer: mining and searching internet-scale software repositories
Data Mining and Knowledge Discovery
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Learning from examples to improve code completion systems
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
MAPO: Mining and Recommending API Usage Patterns
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
Improving code completion with program history
Automated Software Engineering
Towards a better code completion system by API grouping, filtering, and popularity-based ranking
Proceedings of the 2nd International Workshop on Recommendation Systems for Software Engineering
Managing ambiguity in programming by finding unambiguous examples
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
The design of kodu: a tiny visual programming language for children on the Xbox 360
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Using structure-based recommendations to facilitate discoverability in APIs
Proceedings of the 25th European conference on Object-oriented programming
Proceedings of the 10th SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software
Hi-index | 0.00 |
Programmers demand more extensive class libraries so they can reuse more code and write less of their own. However, these libraries are often so large that programmers get lost in deep hierarchies of classes and their members that are very broad in number. Yet language designers continue to focus on computation, leaving tools to solve library exploration problems without much help from the language. This paper applies language design to improve IDE code completion that enables in-situ library exploration. Inference tackles depth by listing completions as long as the program can be "fixed" to support their selection; e.g. "pressed" can be listed as a widget completion since a widget can be a button. Influence mitigates breadth by leveraging types as completion selection models; e.g. a pressed event is more likely to be used on a button than a mouse event. We apply this design to YinYang, a language for programming simulations on tablets using touch-based menus.