Software engineering tools based on syscall instrumentation

Video thumbnail (Frame 0) Video thumbnail (Frame 1446) Video thumbnail (Frame 1899) Video thumbnail (Frame 3282) Video thumbnail (Frame 4832) Video thumbnail (Frame 6464) Video thumbnail (Frame 7267) Video thumbnail (Frame 8662) Video thumbnail (Frame 9101) Video thumbnail (Frame 10134) Video thumbnail (Frame 10794) Video thumbnail (Frame 11688) Video thumbnail (Frame 12328) Video thumbnail (Frame 13426) Video thumbnail (Frame 14460) Video thumbnail (Frame 14861) Video thumbnail (Frame 16207) Video thumbnail (Frame 16612) Video thumbnail (Frame 17400) Video thumbnail (Frame 17910) Video thumbnail (Frame 20170) Video thumbnail (Frame 21262) Video thumbnail (Frame 23104)
Video in TIB AV-Portal: Software engineering tools based on syscall instrumentation

Formal Metadata

Software engineering tools based on syscall instrumentation
Title of Series
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Release Date

Content Metadata

Subject Area
In this lightning talk, we would like to share our experiences regarding a couple of software engineering tools we wrote. Those are all based on syscall instrumentation, and they are daily used in an industrial environment: 1. PRoot is initially a user-mode implementation of some kernel features: chroot, mount --bind, binfmtmisc, ... Its original purpose is to build and to validate programs on systems that are supposed to be not compatible (distro, kernel, CPU, ...). PRoot does not require any privileges since it relies only on ptrace, processvm [read|write]v, and seccomp-filter to observe and modify syscalls between programs and the kernel. With time, PRoot has become a generic Linux process instrumentation engine, used by the two following tools. --, GPLv2+ 2. CARE -- short for "Comprehensive Archiver for Reproducible Executions" -- creates automatically an archive that contains all the material required to re-execute the monitored programs in their original context (environment, files, expected kernel features, ...). CARE is typically useful to get reliable bug reports, demonstrations, academic experiences, tutorials, ... --, GPLv2+ 3. DepsTracker observes the execution of any processes in order to compute their mutual dependencies with respect to the file-system. It is currently used to re-generate highly parallel build-systems that are then dispatched by another tool on build-farms, in order to find the best performance by brute-forcing compiler internal configuration. -- not published publicly, GPLv2+
Implementation Inclusion map Momentum Computer animation Thermodynamisches System Student's t-test Condition number
Computer animation Thermodynamisches System Interface (computing) Independence (probability theory) Instance (computer science)
Process (computing) Computer animation Thermodynamisches System Computer programming Procedural programming Cartesian coordinate system Rule of inference Data compression
Point (geometry) Rotation Slide rule Parameter (computer programming) Mereology Revision control Word Latent heat Computer animation Thermodynamisches System Green's function Core dump Intercept theorem
Context awareness Multiplication sign Digitizing Moment (mathematics) Execution unit Computer simulation Directory service Cartesian coordinate system Semantics (computer science) Neuroinformatik Computer animation Integrated development environment Thermodynamisches System Computer configuration Right angle Form (programming)
Message passing Latent heat Stapeldatei Computer animation Computer configuration Computer programming Forcing (mathematics) Right angle Basis <Mathematik> Traffic reporting Library (computing)
Presentation of a group Theory of relativity Computer animation Thermodynamisches System Stress (mechanics) File system Right angle Instance (computer science) Parameter (computer programming) Error message Subset
Area Cumulant Computer animation Integrated development environment Internetworking Personal digital assistant Computer programming Pattern language Parameter (computer programming) Local ring Computer architecture
Computer animation Sheaf (mathematics) Extension (kinesiology)
Pairwise comparison Computer animation Root Hypermedia Computer programming File archiver Table (information) Condition number
Computer animation Workstation <Musikinstrument> Moment (mathematics) Data structure Condition number
Computer animation Neuroinformatik
Scripting language Addition Connectivity (graph theory) Water vapor Directory service Variable (mathematics) Rule of inference Exploit (computer security) Field (computer science) Computer animation Thermodynamisches System Root Core dump File archiver Resultant Gradient descent
Point (geometry) Computer animation Thermodynamisches System Ferry Corsten Computer programming Authorization Neuroinformatik
Computer animation Network topology Green's function File archiver Right angle
Computer animation Inheritance (object-oriented programming) Multiplication sign Interface (computing) Computer programming Extension (kinesiology)
Graph (mathematics) Inheritance (object-oriented programming) Computer file Data recovery Physical law Electronic program guide Content (media) Stress (mechanics) Rule of inference Neuroinformatik Proof theory Computer animation Thermodynamisches System Right angle Extension (kinesiology) Routing
Thread (computing) Multiplication sign Online help Parameter (computer programming) Medical imaging Voting Computer animation Angle Network topology Computer programming Website Right angle Data structure Quicksort Computer-assisted translation
Computer program Context awareness Sine Serial port Digital electronics Service (economics) View (database) Range (statistics) Parameter (computer programming) Student's t-test Rule of inference Order of magnitude Product (business) Mathematics Inclusion map Latent heat Population density Thermodynamisches System Semiconductor memory Computer programming Core dump Authorization Ideal (ethics) Flag Information security Condition number God Area Addition Closed set Instance (computer science) Cartesian coordinate system System call Orbit Computer animation Personal digital assistant Logic Network topology Universe (mathematics) Order (biology) File archiver Right angle
In this sense is going the students on the on the contribution to the nice so the presence of 2 whom do you want to create a user implementation of the system would just you can use to resolve the use of fruits and is also is to by the persistence situations you accuse you go buy the diaries of depressive butterflies so let's have those the solid for voice to thank few so fine so uniform uh I Walker it's a microarray it's in the competition is that its center and today I would like to show you the tool impetus to a couple of supply and demand for we will today on this is going condition but also so I inclusion to share all expenses in this regard so feel free to me to be doing for them less than 2 weeks then
of Cisco's thoughtful according to
invade the system going the filament or interfaces between your conditional independence that means if you aggregation want to access so for instance
the fire on you otherwise wouldn't be people to create 2 key processes it to out there from system going on Unix also sees up axis
from system calls everything was the severest there and removing that you know the origin of among all existing system because there are especially 1 name each race the trace of the 1 2 and so on and to modify existing rules that formed by a little programs will explain in his procedure as they were on their extend the notion our active-set just like what 1 system code to more so when you need to create some tools based on 2 traits which we name the system going through different so the Lewinsky
wants pronounced you experience the main feature here but then the main feature is
the about approximately meetings and cannot any 85 were and and was have done rotation so in this example you cannot go on national what's over the system version of agency costs than that of the specified command that in the specific among you try to access to the slide you would need intercept this then called and and I is it several months so far but if your command try to open will slash agencies such as fighting using the word we would we detected that the 1st part of 2 points to the Green outside and amended to rewrite the system core arguments to points to the user specified fire so this smallpox we find is
when we get there is to 1 could consider on the dash M option of the wanted just like a moment in that environment we will now in the 2nd and then if you tried to mount a directory of those left right you want to or pulled right system this way you do it the semantic is the same as the simulations that is you remind me of the run from your actual prices then moves from the specified 1 of his sons you should try to run the see between nodes standard see form you'll you'll almost on destroyed it would be 3 steps need C 4 hours so little so often times then this environment so I assume here that the mayor of digital in his directory once again just like so we can but we don't want any is we think things should do on this thing like that you want use they became the
useful to be and validated and that the application in an organic contexts and so you want to create a package for Fedora but you'll also see a computer R is the the say 0 you just have to download the of for the persistent units into Mr. places them and then just the detected as we were thinking of ignore this now if you try to
Beirut into more of our own traits then you might get this message the batch of obscenity or is just if you try to remember and physical what's left is just the ideas this is the of is that as the basis from that C library from the from the specific world forces that each right which the program starts he tries to that that's in the current generation is conducted what was expected feature feature so we tried to detect the contamination and if the contamination is to we get this message is is not explicitly compute the and the same with CH want all report look from the from the some kind of of church or about we want we can make you can add more
you so you you can specify the Pitman of genres and that she option and built we candidates for the missing feature for the future that I'm missing from your you want on that but that are available on the tool that system for
2 or a constant the soul let's say you will come on trying to learn the fruit flies relativity to the specified for subject of the descriptor we open it is going to you what are running to the 6 that 9 1 and for instance you want to win substituent open that's we will program and we replace the parameter mu of the descriptor is under stress from persistently covering the same acceptance is not that in a minute into just works whose is semantically using now if
you try to build into the system that was not been for your architecture so that the right to build into on the file system present during the for instance of the nephron ability of our people who have completed or are you just and makes it is expected that this error message and once again this in the specific agreement with the descendants went and once again could we have a nice feature
so you can specify the city you in in this case this is the kicker in some of the Internet off off and then it's and so I think you to farming area we examine discourse you want to read that that the 1st parameter of the nodes of being a reform locals architecture and each week patterns of cumulant command and this program can environment we translate on the fly on instructions into text intersection so construction with
dynamic you does become more and more generates and then use as the
instrumentation and in it does OK the API 1 can argue on the extension of the future work was a lot of extensions and you can also use students as of the base for your own use to this section
an example here January there is in media is on the roots of it doesn't have the same topic that here is
short for comparison on table for permissible execution in the world was it will answer the execution of program and archival on-the-fly you of values in Europe during the foreign with tradition and at the end it's not again shall me sometimes really anyone has and he or she will be able to produce the execution exactly in the same condition systematic reviews food to
greater principle but we got the most comfortable about so a simple example
and let's say I want to go to work in psychology and this is just an example a condition fear on my workstation obviously if I tried to share the commander as is on the move on the structure I my data prove that will produce so you just pretend look along here against this if I know of that guy here we observe that these the moment and acting on the fly everything that has been used then at the end you
get the food that being quite a
specified it's only 42 2 megabytes it's all seeing it contains everything were produced on country on a different computer so this
archive descent contains you also said expected but so you can execute it in exploits in science and at the end you would get talking to announce the unified being true it explain what the fall of the field of components of the WoT 1st directory new directory come contains all the 5 in the tourism that has been used during the initial execution before and with the addition of the pyramid minerals that occur delinked between the you to rule is a core execution into the 1st system and the executive space-age scripts restricts the results for all the unknown variables and starts with the initial kimono with the roots in the region into the water system so if you when came to the
point of this article on a computer it said that doesn't add dominant and this is the that other almost of thing it we're he course someone in the
program are axis exit from the author and the system the
it's worth seeing but yeah I think the entrepreneur and the set up of trees is if both for updating and following the continued and for the execution you don't need any external to everything is contained into the archive
Green rights of more
extension on and more tools and this is like controlled and then the time to explain so
that the program of bound from the extension of a discontinuity in into parent and then invariance reason that's 0 shown interfaces with privilege at
the each the route a need but also the rules to be in here this is recovery when you try to install it into which the system because it was that it can as soon you are running as world and that from a sanity cheque solely detects that of the hasn't been just about this on my own but this is the road to beta based don't you want this lecture tops on the occasion of doesn't produce enough guide you produce a dependency graph so I sense if you this is then the broken when you try to be parent you can just run new system supported With this that and the fact that we compute the actual dependencies in between me and learn to produce but the Warren Make file at the end because it has culture of dependency so on their own so there are going to come out of the content of this iraq because it means something although it of something think the 1st story is this stress this is a proof of concept to demonstrate the Johnson API in the world this is just like is stress with the law right from the 10 you can add your own extensions and you can create your own to make computers so if
can the days if you need support
our fishery to grant access from from this websites and I'm at the end of the story images have some time to answer our questions so of that commands so the and it does the right gear tools it's also annually to time so the idea that served as the killer tools it's also the nearly to the time recorded time and 3 at the time you know but it could be a we get into community structure of a tree is a reality they're going to
produce a very helpful somebody industry we care and so we didn't think so any issues in history of somewhat this is of the of the who had similar in the based on and so on but it would be possible to agree the times in we have another question at the nest and then 1 of the degree or if you are I used to be that can can work with a multithreaded program accounting about what would the angle that isn't does not know where does care attempt to work with non sort of programs for girls multithreaded programs some how do you how do you make them how you try to make that reproduce the execution reproducible so as a matter of some the the parameters of the is the doesn't get that independently cat entitled program of our well if you try to raise of their constituents 75 cents a
race condition we were interested program intended to a race condition you will notice that universities correctly serialize seems to happen in a different order the serialization could
handle sensor even if you do your serializer places correctly that could still happen in a different order when you know that we run the program and so the this knowledgeable told the cell phone so far from the program the doesn't actually capturing the genes can you will force us to do what we do in addition and so issue of some rest condition very right and we are all not right there sin of the kind of of of data but we got to get an and the limited yellow more limitation or expect these is um close yes no deserve you have to know about all the orbitals of the use of logic or a court you know what what areas of memory could've been changed as far as the authors of to Lake Ontario worked yeah I'm assuming that the the uh the holds that includes all the changes to the system call makes to memory now I know you and contains any change and because it can be from any modifications so for instance that tried to move to archive of programmes that would define the rules you will find system from care we start with execution right before the square on before the modification and read up in this session of this fight so when trying to reduce acute triggering security initiatives of God because fast changes no memory changes all and try to understand how you'd replay how how do we plan on how to this and I don't think that I don't think that I really acute miss insurance this isn't about to predict understand the command of the initial command and of banging knowing between magnitude exactly the same thing this since the decorations really run the system really run the system colon enough I want to write system called and suddenly will the system call will block and when you execute that 1 is that this is not a reference to the insufficient by the the question I think you would like to ask a view of the and this inclusive of 4 circuits using a one-dimensional what this is as of uh because in this phrases is given in the update T I want to make it using the product of the ideal of another going off the we need to remember also is sold in going circuits the use of land and then if plentiful for their abilities into and the girls who Salazar and they don't to laugh at this and services to the application that has a problem program at when the because of the losing its impact so get is the losing the agent is difficult yes this by this agreement that the where the knowledge of semantic 1 thing that you have to have to of specific to build the out you are interested in being in the world of for instance connector system core and then you can fetch arguments and you can modify and evolve if you wish on it and move things like that yes the whole thing to Due someone of another question but if we have a question about the if you are the student should question and can help you at in have you tried to use this tool and the security context and for the security have base 2 use cases aid can be viewed as a tool for instance through the trees from the detect text you know and and men who go on to the influence and check quality the of executive called the economy of was we don't know the security in the 19 victims of crime in this of the cerebrum and to to the flag in the Excel and influence the the of the range right is used than the density of where you can go in search of some kind of them over here this if