4,002 research outputs found
An Answer Explanation Model for Probabilistic Database Queries
Following the availability of huge amounts of uncertain data, coming from diverse ranges of applications such as sensors, machine learning or mining approaches, information extraction and integration, etc. in recent years, we have seen a revival of interests in probabilistic databases. Queries over these databases result in probabilistic answers. As the process of arriving at these answers is based on the underlying stored uncertain data, we argue that from the standpoint of an end user, it is helpful for such a system to give an explanation on how it arrives at an answer and on which uncertainty assumptions the derived answer is based. In this way, the user with his/her own knowledge can decide how much confidence to place in this probabilistic answer. \ud
The aim of this paper is to design such an answer explanation model for probabilistic database queries. We report our design principles and show the methods to compute the answer explanations. One of the main contributions of our model is that it fills the gap between giving only the answer probability, and giving the full derivation. Furthermore, we show how to balance verifiability and influence of explanation components through the concept of verifiable views. The behavior of the model and its computational efficiency are demonstrated through an extensive performance study
Development of an automated debug log processing system for CSI mechanism
Abstract. In the development industry of mobile telecommunication devices, various challenges are faced regarding debugging different errors. One significant difficulty in user equipment (UE) development is the manual processing of massive debug logs of several gigabytes in size. A part of this manual processing may be handled by the automated system, freeing up employees’ time for other assignments, resulting in increased efficiency. The work of this thesis is conducted from the perspective of the channel state information (CSI) mechanism in Fifth Generation Mobile Network New Radio (5G NR) access technology. The purpose of this thesis is to present an example of automated CSI log processing system, and to this end, present basics of CSI mechanism and its standards. The main focus of this thesis is to verify that CSI reporting follows standards of technical specifications provided by the 3rd Generation Partnership Project (3GPP). The presented system contains two major functionalities for verifying the correctness of CSI reporting. The first functionality verifies that all expected CSI reports are transmitted successfully denoting that the processed debug log is not containing any unexpectedly dropped CSI reports. There are several fault reasons for untransmitted CSI reports, and one example is incorrect bit length calculations for CSI report fields, resulting in decreased performance of communication between the Network and UE. Regarding this, the second functionality of the system verifies that the corresponding UE software has calculated bit lengths of different quantities correctly according to 3GPP specifications. These faults are faced in the development phase of devices, for example, when developing new features. As a result of this thesis, a fairly significant system is successfully developed to speed up the manual debugging process. Especially in larger debug log cases, the system provides the ability to investigate the whole log remarkably fast compared to manual debugging.Automaattisen virheenkorjaus lokijärjestelmän kehitys CSI-mekanismille. Tiivistelmä. Matkaviestintälaitteiden kehitysteollisuudessa kohdataan monenlaisia haasteita virheiden korjaukseen liittyen. Yksi merkittävä haaste käyttäjän laitteiden kehityksessä on manuaalinen lokien prosessointi, erityisesti kooltaan suurien ja useiden gigatavujen lokien tapauksissa. Osa tästä prosessista voitaisiin hoitaa automaattisella järjestelmällä vapauttaen virheistä vastuulla olevien työntekijöiden aikaa muihin tehtäviin, lisäen tehokkuutta. Tämä työ on suoritettu viidennen sukupolven langattoman tietoliikenneverkkotekniikan (fifth generation mobile network new radio, 5G NR) radiokanavatilatietoon (channel state information, CSI) perustuvan säädön perspektiivistä. Työn tarkoituksena on esittää esimerkki automaattisen lokiprosessintijärjestelmän kehitysprosessista, ja tätä varten tarjota perustiedot CSI-mekanismista ja sen standardeista. Pääpaino tässä työssä on varmistaa, että CSI-raportointi noudattaa teknisiä standardeja, jotka usean standardointijärjestön yhteistyöorganisaatio (The 3rd Generation Partnership Project, 3GPP) on määrittänyt. Työssä esitetty systeemi sisältää kaksi päätoiminnallisuutta CSI-raportoinnin oikeuden varmistamiseen. Ensimmäinen toiminnallisuus varmistaa, että kaikki odotetut CSI-raportit ovat lähetetty onnistuneesti, joka merkitsee, ettei loki sisällä odottamattomasti pudotettuja CSI-raportteja. Pudotetuille CSI-raporteille on useita vian syitä, ja yksi esimerkki tästä on väärin lasketut bittien pituudet, joka heikentää kommunikaation suorituskykyä verkon ja käyttäjän laitteen välillä. Tähän liittyen, toinen systeemin päätoiminnallisuus varmistaa, että käyttäjän laitteen ohjelmisto on laskenut bittien pituudet eri parametreille oikein 3GPP-standardien mukaisesti. Nämä virheet kohdataan käyttäjän laitteen kehityksen vaiheessa, esimerkiksi, kun kehitetään uusia ominaisuuksia. Työn lopputulos on onnistunut, jossa kohtuullisen merkittävä järjestelmä on kehitetty nopeuttamaan manuaalista virheenkorjausta. Erityisesti suurempien lokien tapauksissa, järjestelmä tarjoaa kyvyn tutkia kokonainen loki huomattavan nopeasti verrattuna manuaaliseen virheiden korjaukseen
Code Park: A New 3D Code Visualization Tool
We introduce Code Park, a novel tool for visualizing codebases in a 3D
game-like environment. Code Park aims to improve a programmer's understanding
of an existing codebase in a manner that is both engaging and intuitive,
appealing to novice users such as students. It achieves these goals by laying
out the codebase in a 3D park-like environment. Each class in the codebase is
represented as a 3D room-like structure. Constituent parts of the class
(variable, member functions, etc.) are laid out on the walls, resembling a
syntax-aware "wallpaper". The users can interact with the codebase using an
overview, and a first-person viewer mode. We conducted two user studies to
evaluate Code Park's usability and suitability for organizing an existing
project. Our results indicate that Code Park is easy to get familiar with and
significantly helps in code understanding compared to a traditional IDE.
Further, the users unanimously believed that Code Park was a fun tool to work
with.Comment: Accepted for publication in 2017 IEEE Working Conference on Software
Visualization (VISSOFT 2017); Supplementary video:
https://www.youtube.com/watch?v=LUiy1M9hUK
The Role of Intensional and Extensional Representations in Simulation
This paper was prepared as the author's area examination.I review three systems which do simulation in different domains. I observe the following commonality in the representations underlying the simulations:
• The representations used for individuals tend to be domain-dependent. These representations are highly structured, concentrating in one place all the information concerning any particular individual. I call these representations intensional because two such representations are considered equal if their forms are identical.
• With important exceptions, the representations used for classes of individuals tend to be domain-independent. These representations are unstructured sets of predications involving the characteristics of class members. I call these representations extensional because two such representations are considered equal if the classes they specify are identical.
I draw out various ramifications of this dichotomy, and speculate as to its cause. In conclusion, I suggest research into the process of debugging extensional class representations and the development of intensional ones.MIT Artificial Intelligence Laborator
Finding The Lazy Programmer's Bugs
Traditionally developers and testers created huge numbers of explicit tests, enumerating interesting cases, perhaps
biased by what they believe to be the current boundary conditions of the function being tested. Or at
least, they were supposed to.
A major step forward was the development of property testing. Property testing requires the user to write a few
functional properties that are used to generate tests, and requires an external library or tool to create test data
for the tests. As such many thousands of tests can be created for a single property. For the purely functional
programming language Haskell there are several such libraries; for example QuickCheck [CH00], SmallCheck
and Lazy SmallCheck [RNL08].
Unfortunately, property testing still requires the user to write explicit tests. Fortunately, we note there are
already many implicit tests present in programs. Developers may throw assertion errors, or the compiler may
silently insert runtime exceptions for incomplete pattern matches.
We attempt to automate the testing process using these implicit tests. Our contributions are in four main
areas: (1) We have developed algorithms to automatically infer appropriate constructors and functions needed
to generate test data without requiring additional programmer work or annotations. (2) To combine the
constructors and functions into test expressions we take advantage of Haskell's lazy evaluation semantics by
applying the techniques of needed narrowing and lazy instantiation to guide generation. (3) We keep the type
of test data at its most general, in order to prevent committing too early to monomorphic types that cause
needless wasted tests. (4) We have developed novel ways of creating Haskell case expressions to inspect elements
inside returned data structures, in order to discover exceptions that may be hidden by laziness, and to make
our test data generation algorithm more expressive.
In order to validate our claims, we have implemented these techniques in Irulan, a fully automatic tool for
generating systematic black-box unit tests for Haskell library code. We have designed Irulan to generate high
coverage test suites and detect common programming errors in the process
Recommended from our members
Using the Internet of Things to Teach Good Software Engineering Practice to High School Students
This paper describes a course to introduce high school students
to software engineering in practice using the Internet Of
Things (IoT). IoT devices allow students to get quick, visible
results without watering down technical aspects of
programming and networking. The course has three broad
goals: (1) to make software engineering fun and applicable,
with the aim of recruiting traditionally underrepresented
groups into computing; (2) to make young students begin to
approach problems with a design mindset; and (3) to show
students that computer science, generally, and software
engineering, specifically, is about much more than
programming. The course unfolds in three segments. The first
is a whirlwind introduction to a subset of IoT technologies.
Students complete a specific task (or set of tasks) using each
technology. This segment culminates in a “do-it-yourself”
project, in which the students implement a simple IoT
application using their basic knowledge of the technologies.
The course’s second segment introduces software engineering
practices, again primarily via hands-on practical tutorials. In
the third segment of the course, the students conceive of,
design, and implement a project that uses the technologies
introduced in the first segment, all while being attentive to the
good software engineering practices acquired in the second
segment. In addition to presenting the course curriculum, the
paper also discusses a first offering of the course in a threeweek
summer intensive program in 2017, including
assessments done to evaluate the curriculum.Cockrell School of Engineerin
Logging and bookkeeping, Administrator's guide
Logging and Bookkeeping (LB for short) is a Grid service that keeps a short-term trace of Grid jobs as they are processed by individual Grid component
- …