Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Petr Hosek 0001

dblp:27/8264-1 · DBLP profile ↗
← Back
7ranked-venue papers
3as first author
0since 2021 · last 2018
0000-0002-2067-0998ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 6 · 3 first-authorSystems, architecture and hardware · 1 · 1 first-authorDatabases, data management, data science and information retrieval · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
3 papers
Software maintenance and evolution · 62% Empirical software engineering · 13% Software testing · 13%
Network and information security
2 papers
Systems and software security · 100%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Hardware reliability and fault tolerance · 77% Parallel and multicore computing · 23%

Topics — the 10 heaviest of 11, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Software maintenance and evolution
software dependencies
0.312018
Making data-driven porting decisions with Tuscan · ISSTA 2018
Software maintenance and evolution › software reengineering › software modernization › software migration
software porting
0.312018
Making data-driven porting decisions with Tuscan · ISSTA 2018
Systems and software security › software diversity
multi-variant execution
0.212015
VARAN the Unbelievable: An Efficient N-version Execution Framework · ASPLOS 2015
Systems and software security
software diversity
0.212015
VARAN the Unbelievable: An Efficient N-version Execution Framework · ASPLOS 2015
Hardware reliability and fault tolerance
software fault tolerance
0.212015
VARAN the Unbelievable: An Efficient N-version Execution Framework · ASPLOS 2015
Empirical software engineering
mining software repositories
0.212014
Covrig: a framework for the analysis of code, test, and coverage evolution in real software · ISSTA 2014
Software testing
test coverage
0.212014
Covrig: a framework for the analysis of code, test, and coverage evolution in real software · ISSTA 2014
Concurrent programming
multi-version execution
0.212013
Safe software updates via multi-version execution · ICSE 2013
Software maintenance and evolution
software updates
0.212013
Safe software updates via multi-version execution · ICSE 2013
Software maintenance and evolution › software updates
software patching
0.112014
Covrig: a framework for the analysis of code, test, and coverage evolution in real software · ISSTA 2014

Methods — techniques the papers use, named apart from their topics

runtime monitoring · 0.4multi-version execution · 0.3dynamic divergence detection · 0.3data-driven analysis · 0.3virtualization · 0.2empirical study · 0.2dynamic analysis · 0.2
YearPublicationVenuePosition
2018 Making data-driven porting decisions with Tuscan
abstract
Software typically outlives the platform that it was originally written for. To smooth the transition to new tools and platforms, programs should depend on the underlying platform as little as possible. In practice, however, software build processes are highly sensitive to their build platform, notably the implementation of the compiler and standard library. This makes it difficult to port existing, mature software to emerging platforms---web based runtimes like WebAssembly, resource-constrained environments for Internet-of-Things devices, or innovative new operating systems like Fuchsia.
Kareem Khazem, Earl T. Barr, Petr Hosek 0001
ISSTA3
2015 VARAN the Unbelievable: An Efficient N-version Execution Framework
abstract
With the widespread availability of multi-core processors, running multiple diversified variants or several different versions of an application in parallel is becoming a viable approach for increasing the reliability and security of software systems. The key component of such N-version execution (NVX) systems is a runtime monitor that enables the execution of multiple versions in parallel. Unfortunately, existing monitors impose either a large performance overhead or rely on intrusive kernel-level changes. Moreover, none of the existing solutions scales well with the number of versions, since the runtime monitor acts as a performance bottleneck.
Petr Hosek 0001, Cristian Cadar
ASPLOS1
2014 Covrig: a framework for the analysis of code, test, and coverage evolution in real software
abstract
Software repositories provide rich information about the construction and evolution of software systems. While static data that can be mined directly from version control systems has been extensively studied, dynamic metrics concerning the execution of the software have received much less attention, due to the inherent difficulty of running and monitoring a large number of software versions. In this paper, we present Covrig, a flexible infrastructure that can be used to run each version of a system in isolation and collect static and dynamic software metrics, using a lightweight virtual machine environment that can be deployed on a cluster of local or cloud machines. We use Covrig to conduct an empirical study examining how code and tests co-evolve in six popular open-source systems. We report the main characteristics of software patches, analyse the evolution of program and patch coverage, assess the impact of nondeterminism on the execution of test suites, and investigate whether the coverage of code containing bugs and bug fixes is higher than average.
Paul Dan Marinescu, Petr Hosek 0001, Cristian Cadar
ISSTA2
2014 Comparison of component frameworks for real-time embedded systems
Tomás Pop, Petr Hnetynka, Petr Hosek 0001, Michal Malohlava, Tomás Bures
Knowl. Inf. Syst.3
2013 Safe software updates via multi-version execution
abstract
Software systems are constantly evolving, with new versions and patches being released on a continuous basis. Unfortunately, software updates present a high risk, with many releases introducing new bugs and security vulnerabilities. We tackle this problem using a simple but effective multi-version based approach. Whenever a new update becomes available, instead of upgrading the software to the new version, we run the new version in parallel with the old one; by carefully coordinating their executions and selecting the behaviour of the more reliable version when they diverge, we create a more secure and dependable multi-version application. We implemented this technique in Mx, a system targeting Linux applications running on multi-core processors, and show that it can be applied successfully to several real applications such as Coreutils, a set of user-level UNIX applications; Lighttpd, a popular web server used by several high-traffic websites such as Wikipedia and YouTube; and Redis, an advanced key-value data structure server used by many well-known services such as GitHub and Flickr.
Petr Hosek 0001, Cristian Cadar
ICSE1
2011 SafeWeb: A Middleware for Securing Ruby-Based Web Applications
Petr Hosek 0001, Matteo Migliavacca, Ioannis Papagiannis, David M. Eyers, David Evans 0002, Brian Shand, Jean Bacon, Peter R. Pietzuch
Middleware1
2011 Introducing Support for Embedded and Real-Time Devices into Existing Hierarchical Component System: Lessons Learned
abstract
As embedded and real-time systems became an inherent part of many electronic appliances of everyday use, the demand for their development has grown enormously. Increasing complexity of these systems leads to demands of tools and techniques addressing their efficient and short time-to-market development. One of the possible ways to tackle the problem is a reuse of tools, methodologies and know how already established and successfully adopted in other application domains. Such transfer cannot be done inherently without appropriate modification and methodical adaptation based on an analysis of domain requirements. The paper analyzes necessary modifications and extensions of a general purpose component-based technology to enable development of embedded real-time systems. In addition, we present our own experience obtained while tailoring advanced component framework SOFA 2 to support development of embedded and real-time systems.
Tomás Pop, Jaroslav Keznikl, Petr Hosek 0001, Michal Malohlava, Tomás Bures, Petr Hnetynka
SERA3