Kernel language KLND
Cui Zhang, Qinping Zhao, Jiafu Xu · Journal of Computer Science and Technology · 1986
Cited by 2
Read the abstract, see who wrote it and who cites it, and get the citation in APA, MLA, Chicago or Harvard.
About 4,960 papers for “kernel language”
Cui Zhang, Qinping Zhao, Jiafu Xu · Journal of Computer Science and Technology · 1986
Cited by 2
For Dsp Purpose, Namely The Philips Trimedia · 2009
Cited by 0
Jun Sun, Min Zhang, Chew Lim Tan · Proceedings of the AAAI Conference on Artificial Intelligence · 2011
We propose Tree Sequence Kernel (TSK), which implicitly exhausts the structure features of a sequence of subtrees embedded in the phrasal parse tree. By incorporating the capability of sequence kernel, TSK enriches tree kernel with tree sequence features so that it may provide additional useful patterns for machine learning applications. Two approaches of penalizing the substructures are proposed and both can be accomplished by efficient algorithms via dynamic programming. Evaluations are performed on two natural language tasks, i.e. Question Classification and Relation Extraction. Experimental results suggest that TSK outperforms tree kernel for both tasks, which also reveals that the structure features made up of multiple subtrees are effective and play a complementary role to the single tree structure.
Cited by 18Open access
Paul B. Beskow, Håvard Espel, Håkon K. Stensl et al. · 2012
P2G is a framework designed to integrate concepts from modern batch processing frameworks into the world of real-time multimedia processing, where we seek to scale transparently with the available resources. P2G consists of a compiler and run-time that analyzes dependencies dynamically and merges or splits kernel instances based on resouce availability and performance monitoring.
Cited by 0
Martin Wirsing · Theoretical Computer Science · 1986
Cited by 138
SUN JUN, Zhang, M., Tan, C.L. · National University of Singapore · 2011
Proceedings of the National Conference on Artificial Intelligence
Cited by 0
Yusheng Zheng, Yiwei Yang, Maolin Chen et al. · arXiv (Cornell University) · 2023
The ability to modify and extend an operating system is an important feature for improving a system's security, reliability, and performance. The extended Berkeley Packet Filters (eBPF) ecosystem has emerged as the standard mechanism for extending the Linux kernel and has recently been ported to Windows. eBPF programs inject new logic into the kernel that the system will execute before or after existing logic. While the eBPF ecosystem provides a flexible mechanism for kernel extension, it is difficult for developers to write eBPF programs today. An eBPF developer must have deep knowledge of the internals of the operating system to determine where to place logic and cope with programming limitations on the control flow and data accesses of their eBPF program enforced by the eBPF verifier. This paper presents KEN, an alternative framework that alleviates the difficulty of writing an eBPF program by allowing Kernel Extensions to be written in Natural language. KEN uses recent advances in large language models (LLMs) to synthesize an eBPF program given a user's English language prompt. To ensure that LLM's output is semantically equivalent to the user's prompt, KEN employs a combination of LLM-empowered program comprehension, symbolic execution, and a series of feedback loops. KEN's key novelty is the combination of these techniques. In particular, the system uses symbolic execution in a novel structure that allows it to combine the results of program synthesis and program comprehension and build on the recent success that LLMs have shown for each of these tasks individually. To evaluate KEN, we developed a new corpus of natural language prompts for eBPF programs. We show that KEN produces correct eBPF programs on 80% which is an improvement of a factor of 2.67 compared to an LLM-empowered program synthesis baseline.
Cited by 0Open access
Dipanzan, Sarwat Islam · Brock University Digital Repository (Brock University) · 2023
Software efficiency has taken a toll in recent times and code quality and optimization \nis often an afterthought nowadays. Also there exists no standard operating system \nsupport or unified tooling to gather fine grained energy consumption data about \nsource code. Current tooling that exist tackles this problem by running the entire \nprocess/application as a whole, therefore localizing the exact part in source code is a \nblind endeavour. It is also time consuming and expensive to improve such efficiency \nconcerns during the development phase. Coupled with the fact that recent hardware \nleaps has made it possible to write non-performant software to run relatively fast \nwithout much regards to code efficiency. The downside to this phenomenon is that, \nthe hardware compensates for bad code quality by using far more resources increasing \nenergy usage. \nIn this thesis, we focus on an energy centric view of running applications and \ndevise tooling to assist the software developer when choosing libraries, frameworks, \nprogramming languages and critical architecture designs. We propose a standard \nunified way of gathering energy consumption data from the operating system kernel \nand propose two solutions: a kernel energy module and associated energy reading \nlibraries. The objective is to introspect process/applications without massively altering source code. The idea is to probe into source code and gather energy data for \ncomparison against different implementations to create awareness amongst software \ndevelopers. \nThe tooling is designed to be application and programming language agnostic \nso that it can infer runtime metrics without much assumption of the underlying \nsoftware. This allows to gather virtually any scenario and compare software models \nwith different versions, environments and systems. The thesis also does extensive \nmachine-learning tests using different libraries and synthetic datasets to shed light on \nML experiments and their energy consumption. Together with these approaches, the developers can make informed decisions about which part to prioritize improvement \nand achieve greener software.
Cited by 0Open access
Pierre-Louis Curien · Birkhäuser Boston eBooks · 1993
In this chapter we reintroduce the objects of the preceding chapters as components of a functional programming language. Section 1 presents a (tentative) concrete syntax of finite and infinite data structure definitions, using either enumeration, or two powerful constructors: grafting and recursion. The classical product, sum, and list constructors are derived from those two constructors in a simple way. Section 2 introduces a concrete syntax for the two types of constants of the language: the states, which are enumerations of events, and the sequential algorithms, which are programs manipulating states,and are written using reading (“valof”) and writing (“output”) instructions.We show how to compile sequential algorithms (the “functional” constants) into states (the “basic” constants). Section 3 introduces the algebra of expressions, which is based on the constants of Section 2, and on chapter’s 1 categorical combinators. Section 4 introduces two different possible operational semantics: CDS01 and CDS02. Oneof them, CDS01, is formally described in Section 5, using conditional rewrite rules in the style of Structural Operational Semantics [PloOp].
Cited by 0
Éric Tanter, Jacques Noyé · Lecture notes in computer science · 2005
Cited by 84
Éric Tanter, Jacques Noyé · HAL (Le Centre pour la Communication Scientifique Directe) · 2005
Cited by 0
Peter Van Roy, Seif Haridi · 2007
Abstract. We present the kernel language approach, a new way to teach programming that situates most of the widely-known programming paradigms (including imperative, object-oriented, concurrent, logic, and functional) in a uniform setting that shows their deep relationships and how to use them together. Widely-different practical languages (exemplified by Java, Haskell, Prolog, and Erlang) with their rich panoplies of abstractions and syntax are explained by straightforward translations into closely-related kernel languages, simple languages that consist of small numbers of programmer-significant concepts. Kernel languages are easy to understand and have a simple formal semantics that can be used by practicing programmers to reason about correctness and complexity. We have taught the approach at three universities in courses ranging from second-year undergraduate courses to graduate courses. We are completing a textbook with accompanying materials. As part of a curriculum, the approach naturally complements courses on algorithms & data structures and program design & software engineering. The approach is the fruit of ten years of research by an international team, the Mozart Consortium. 1 Existing Approaches For the purposes of this paper, let us consider a broad definition of computer programming as bridging the gap between specification and running program. This consists in designing the architecture and abstractions of an application and coding them in a programming language. The discipline of programming has two essential parts: a technology and its scientific foundation. The technology consists of tools, techniques, and standards, allowing to do programming. The science consists of a broad and deep theory with predictive power, allowing to understand programming. The science should be practical, that is, able to explain the technology, making it useful for a practicing programmer. Teaching programming means to teach both the science and the technology. Surprisingly, we find that programming is almost never taught in this way. Surveying existing textbooks, we find that programming is taught in three different ways.
Cited by 0
Johan Fabry, Éric Tanter, Theo D’Hondt · Science of Computer Programming · 2008
Cited by 2Open access
Yusheng Zheng, Yiwei Yang, Maolin Chen et al. · 2024
The extended Berkeley Packet Filters (eBPF) ecosystem allows for the extension of Linux and Windows kernels, but writing eBPF programs is challenging due to the required knowledge of OS internals and programming limitations enforced by the eBPF verifier. These limitations ensure that only expert kernel developers can extend their kernels, making it difficult for junior sys admins, patch makers, and DevOps personnel to maintain extensions. This paper presents Kgent, an alternative framework that alleviates the difficulty of writing an eBPF program by allowing Kernel Extensions to be written in Natural language. Kgent uses recent advances in large language models (LLMs) to synthesize an eBPF program given a user's English language prompt. To ensure that LLM's output is semantically equivalent to the user's prompt, Kgent employs a combination of LLM-empowered program comprehension, symbolic execution, and a series of feedback loops. Kgent's key novelty is the combination of these techniques. In particular, the system uses symbolic execution in a novel structure that allows it to combine the results of program synthesis and program comprehension and build on the recent success that LLMs have shown for each of these tasks individually.
Cited by 3Open access
Elio Giovannetti, Giorgio Levi, Corrado Moiso et al. · Journal of Computer and System Sciences · 1991
Cited by 112
2015
Cited by 0
Mickaël Kerboeuf, Paola Vallejo · 2013
Cited by 0
Douglas Frank Palmer · 1997
The Andorra Kernel Language (AKL), also known as the Agents Kernel Language, is a logic programming language that combines both don't know nondeterminism and stream programming. This thesis reports on the design and construction of an abstract machine, the DAM, for the parallel execution of AKL programs. Elements of a compiler for the DAM are also described. As part of the development of the DAM, a bottom-up abstract interpretation for AKL and a logic semantics for the AKL, based on interlaced bilattices have also been developed. This thesis reports on the abstract interpretation and the logical semantics. This thesis is less than 100,000 words in length, exclusive of tables, bibliography and appendices. Contents List of Figures v List of Tables vii Acknowledgements ix 1 Introduction 1 1.1 Thesis Outline : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2 1.2 Some Preliminaries : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2 1.2....
Cited by 0
Moolenaar, Remco · Lirias (KU Leuven) · 1995
status: Published
Cited by 0Open access
Miguel Filgueiras · 1983
Cited by 5