Einar Høst

Einar Høst

Principal Engineer at Computas AS

Location
Oslo Area, Norway
Industry
Computer Software

As a LinkedIn member, you'll join 300 million other professionals who are sharing connections, ideas, and opportunities.

  • See who you and Einar Høst know in common
  • Get introduced to Einar Høst
  • Contact Einar Høst directly

View Einar's full profile

Einar Høst's Overview

Current
Past
Education
Connections

230 connections

Websites

Einar Høst's Summary

I enjoy programming.

Specialties: .NET, C#, Java, Python.

Einar Høst's Experience

Principal Engineer

Computas AS

Privately Held; 201-500 employees; Computer Software industry

July 2012Present (2 years 3 months)

Technical architecture and software development in .NET and Java.

Senior Knowledge Engineer

Computas AS

Privately Held; 201-500 employees; Computer Software industry

January 2009July 2012 (3 years 7 months)

Technical architecture and software development in .NET and Java.

PhD Fellow

Norsk Regnesentral

Nonprofit; 51-200 employees; Research industry

November 2005January 2009 (3 years 3 months)

My PhD work is part of the strategic research programme "Reducing Software Entropy". I am investigating the correlation between method names and implementations, to approximate a description of programmer language.

Research Scientist

FFI

Government Agency; 501-1000 employees; Research industry

November 2002November 2005 (3 years 1 month)

Development of a software analysis tool for the Norwegian Defense, to evaluate the performance of anti-submarine warfare. Extensive programming in C#, development and maintenance of the database backend (MS SQL Server, T-SQL programming), processing of large amounts of low-level sonar data, and integrating them with numerous other data sources.

Einar Høst's Projects

Einar Høst's Courses

  • PhD, Computer Science

    University of Oslo (UiO)

    • Compiler techniques (INF9110)
    • Logic (INF4170)
    • Selected topics in static analysis (INF5906)
    • Science, ethics and society (MNSES9100)

Einar Høst's Skills & Expertise

  1. .NET
  2. Java
  3. Software Development
  4. Software Engineering
  5. ASP.NET
  6. ADO.NET
  7. WCF
  8. C#
  9. Python
  10. Agile
  11. TDD
  12. Design Patterns
  13. Unit Testing
  14. Continuous Integration
  15. Technical Architecture
  16. Test Driven Development
  17. Agile Methodologies
  18. Scrum
  19. SOA
  20. T-SQL
  21. Programming
  22. Databases
  23. System Architecture
  24. Subversion
  25. Distributed Systems
  26. Cloud Computing
  27. Disaster Recovery
  28. Deferred Compensation
  29. XML
  30. UML
  31. REST

View All (31) Skills View Fewer Skills

Einar Høst's Certifications

  • MS 70-515: Web Applications Development with Microsoft .NET Framework 4

  • MS 70-516: Accessing Data with Microsoft .NET Framework 4

  • MS 70-513: Windows Communication Foundation Development with Microsoft .NET Framework 4

  • MCPD Web Developer 4

  • Functional Programming Principles in Scala

    • Coursera
  • Programming Languages

    • Coursera
  • Internet History, Technology, and Security

    • Coursera

Einar Høst's Publications

  • The Programmer’s Lexicon, Vol I: The Verbs

    • Proceedings of the Seventh IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2007)
    • 2007

    Method names make or break abstractions: good ones communicate the intention of the method, whereas bad ones cause confusion and frustration. The task of naming is subject to the whims and idiosyncracies of the individual since programmers have little to guide them except their personal experience. By analysing method implementations taken from a corpus of Java applications, we establish the meaning of verbs in method names based on actual use. The result is an automatically generated, domain-neutral lexicon of verbs, similar to a natural language dictionary, that represents the common usages of many programmers.

  • The Java Programmer's Phrase Book

    • Proceedings of the 1st International Conference on Software Language Engineering (SLE 2008)
    • 2009

    Method names in Java are natural language phrases describing behaviour, encoded to make them easy for machines to parse. Programmers rely on the meaning encoded in method names to understand code. We know little about the language used in this encoding, its rules and structure, leaving the programmer without guidance in expressing her intent. Yet the meaning of the method names -- or phrases -- is readily available in the body of the methods they name. By correlating names and implementations, we can figure out the meaning of the original phrases, and uncover the rules of the phrase language as well. In this paper, we present an automatically generated proof-of-concept phrase book for Java, based on a large software corpus. The phrase book captures both the grammatical structure and the meaning of method phrases as commonly used by Java programmers.

  • Debugging Method Names

    • Proceedings of the 23rd European Conference on Object-Oriented Programming (ECOOP 2009)
    • 2009

    Meaningful method names are crucial for the readability and maintainability of software. Existing naming conventions focus on syntactic details, leaving programmers with little or no support in assuring meaningful names. In this paper, we show that naming conventions can go much further: we can mechanically check whether or not a method name and implementation are likely to be good matches for each other. The vast amount of software written in Java defines an implicit convention for pairing names and implementations. We exploit this to extract rules for method names, which are used to identify “naming bugs” in well-known Java applications. We also present an approach for automatic suggestion of more suitable names in the presence of mismatch between name and implementation.

  • Canonical Method Names for Java

    • Proceedings of the 3rd International Conference on Software Language Engineering (SLE 2010)
    • 2011
    Authors: Einar Høst, Bjarte M. Østvold

    Programmers rely on the conventional meanings of method names when writing programs. However, these conventional meanings are implicit and vague, leading to various forms of ambiguity. This is problematic since it hurts the readability and maintainability of programs. Java programmers would benefit greatly from a more well-defined vocabulary. Identifying synonyms in the vocabulary of verbs used in method names is a step towards this goal. By rooting the meaning of verbs in the semantics of a large number of methods taken from real-world Java applications, we find that such synonyms can readily be identified. To support our claims, we demonstrate automatic identification of synonym candidates. This could be used as a starting point for a manual canonicalisation process, where redundant verbs are eliminated from the vocabulary.

  • Meaningful Method Names

    • Unipub
    • February 2011
    Authors: Einar Høst

    My PhD thesis, which concerns linking the informal meaning of method names to the formal semantics of the method implementations the names represent.

  • Finding and fixing Java naming bugs with the Lancelot Eclipse plugin

    • PEPM '12 Proceedings of the ACM SIGPLAN 2012 workshop on Partial evaluation and program manipulation
    • 2012

    The Lancelot plugin extends the integrated development environment Eclipse with support for finding and fixing 'naming bugs' in Java programs. A naming bug is a mismatch between the name and implementation of a method, in the sense that the pairing of name and implementation do not correspond to the implicit method naming conventions used by many well-known open source applications.

    Lancelot has not been presented before, but its theoretical foundations and evaluation have been published. The contribution of the present paper is to present a publicly available tool building on our theory, explain the design of the tool, including some necessary adaptations to the interactive use setting, and report on our experience with it. The source code of Lancelot is available under an open source license.

Einar Høst's Education

University of Oslo (UiO)

PhD, Computer Science

20052011

University of Oslo (UiO)

Cand.Scient, Computer Science

19972002

Einar Høst's Additional Information

Websites:
Interests:

Technology, programming, reading, music, coffee.

Groups and Associations:
Honors and Awards:

Best paper award at ECOOP 2009.

Contact Einar for:

  • career opportunities
  • consulting offers
  • new ventures
  • job inquiries
  • expertise requests
  • business deals
  • reference requests
  • getting back in touch

View Einar Høst’s full profile to...

  • See who you and Einar Høst know in common
  • Get introduced to Einar Høst
  • Contact Einar Høst directly

View Einar's full profile

Viewers of this profile also viewed...