词条 | Semmle |
释义 |
| name = Semmle | logo = Semmle_logo.png | logo_size = | logo_alt = | logo_caption = | logo_padding = | image = | image_size = | image_alt = | image_caption = | native_name = | native_name_lang = | former_name = | type = | industry = Software analytics | founded = {{start date|2006|12}} in Oxford, England | founder = Oege de Moor | hq_location = 180 Sansome St | hq_location_city = San Francisco | hq_location_country = USA | area_served = | key_people = Oege de Moor, Pavel Augustinov, Julian Tibble | products = Code analysis software and services | brands = | services = | owner = | website = {{URL|semmle.com}} }} Semmle Inc is a software engineering analytics and code exploration provider, with offices in San Francisco, Oxford, New York City, and Copenhagen. Built on research in compilers and data analysis, developed by a team from the University of Oxford, its patented technology creates a knowledge base using all available data about the software development process (source code, issue tickets, development costs, team location, etc.), and allows its users to accurately and efficiently query that knowledge base. Results are presented in user interfaces designed for the different needs of developers, managers, and executives. The insights Semmle delivers help teams staff projects more intelligently, retain and develop talent better, control software costs, and deliver new functionality sooner. The company is headquartered in San Francisco, with its development operations based in Blue Boar Court, Alfred Street, central Oxford, England. Semmle's customers include Citi, Credit Suisse, NASA and Dell.[1] BackgroundAcademicSemmleCode builds on academic research on querying the source of software programs. The first such system was Linton's Omega system,[2] where queries were phrased in QUEL. QUEL did not allow for recursion in queries, making it difficult to inspect hierarchical program structures such as the call graph. The next significant development was therefore the use of logic programming, which does allow such recursive queries, in the XL C++ Browser.[3] The disadvantage of using a full logic programming language is however that it is very difficult to attain acceptable efficiency. The CodeQuest system,[4] developed at the University of Oxford, was the first to exploit the observation that Datalog, a very restrictive version of logic programming, is in the sweet spot between expressive power and efficiency. The QL query language is an object-oriented version of Datalog. IndustrialThe early research works on querying the source of software programs spun off a number of industrial applications. In particular it became the cornerstone of systems for application intelligence (data mining on the source of software systems) and software renovation. In 2007, Paris-based CAST[5] is one of the market leaders in that area, and other significant players include BluePhoenix in Herzliya, Israel. SemmleCode differs from these systems in its use of an object-oriented query language, which allows programmers to easily formulate new queries that are particular to their own project. A full account of the academic and industrial developments leading up to the creation of SemmleCode can be found in a paper by Hajiyev et al.[6] Sample query in QLTo illustrate the use of QL, consider the well-known rule in object-oriented programming that public fields should be declared final. To find violations of that rule, we should search for fields that are public but not final. In QL, that requirement is expressed as follows: Here not only is the offending field Integration with development environmentsSemmleCode provides a user interface via the Eclipse IDE to query Java code (both source code and bytecode) as well as XML files, and to edit QL queries. This is however but one application of the technology that underlies it: QL can be used to query any other type of complex data. References1. ^{{cite press release | url=http://www.cs.ox.ac.uk/news/830-full.html | title=Spin-out company Semmle secures $8M from Accel Partners | publisher=University of Oxford | date=September 16, 2014 | accessdate=September 18, 2015}} 2. ^{{cite web| url=http://www.eecs.berkeley.edu/Pubs/TechRpts/1983/5296.html | title=Linton's Omega system | publisher=University of California, Berkeley | location=USA | date=1983 }} 3. ^Shahram Javey, Kin’ichi Mitsui, Hiroaki Nakamura, Tsuyoshi Ohira, Kazu Yasuda, Kazushi Kuse, Tsutomu Kamimura, and Richard Helm. Architecture of the XL C++ browser. In CASCON ’92: Proceedings of the 1992 conference of the Centre for Advanced Studies on Collaborative research, pages 369–379. IBM Press, 1992. 4. ^{{cite web|url=http://progtools.comlab.ox.ac.uk/projects/codequest |title=CodeQuest system |publisher=Oxford University Computing Laboratory |location=UK |deadurl=yes |archiveurl=https://web.archive.org/web/20061009150456/http://progtools.comlab.ox.ac.uk/projects/codequest/ |archivedate=October 9, 2006 }} 5. ^{{cite web| url=http://www.castsoftware.com/ | title=CAST Software }} 6. ^Elnar Hajiyev, Mathieu Verbaere, and Oege de Moor, CodeQuest: Scalable Source Code Queries with Datalog. In ECOOP 2006: Proceedings of the 2006 European Conference on Object-Oriented Programming, pages 2–27. Springer, 2006. Further reading
External links
5 : Companies based in Oxford|Software companies of the United Kingdom|Software testing tools|Java development tools|Static program analysis tools |
随便看 |
|
开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。