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

Kari Kähkönen

dblp:46/7423 · DBLP profile ↗
← Back
5ranked-venue papers
4as first author
0since 2021 · last 2018
—ORCID · none

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

Software engineering, systems software and programming languages · 3 · 3 first-authorSystems, architecture and hardware · 2 · 1 first-author

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
1 paper
Software testing · 61% Program analysis · 30% Concurrent programming · 9%

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

TopicWeightPapersLastEvidence papers
Software testing
concurrency testing
0.112012
Using unfoldings in automated testing of multithreaded programs · ASE 2012
Program analysis › symbolic execution
dynamic symbolic execution
0.112012
Using unfoldings in automated testing of multithreaded programs · ASE 2012
Software testing › concurrency testing
multithreaded program testing
0.112012
Using unfoldings in automated testing of multithreaded programs · ASE 2012
Concurrent programming › concurrency models
nondeterminism
0.012012
Using unfoldings in automated testing of multithreaded programs · ASE 2012

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

unfolding · 0.1partial order reduction · 0.1dynamic symbolic execution · 0.1
YearPublicationVenuePosition
2018 Testing Programs with Contextual Unfoldings
abstract
In this article, we present a new algorithm that combines contextual unfoldings and dynamic symbolic execution to systematically test multithreaded programs. The approach uses symbolic execution to limit the number of input values and unfoldings to thus limit the number of thread interleavings that are needed to cover reachable local states of threads in the program under test. We show that the use of contextual unfoldings allows interleavings of threads to be succinctly represented. This can in some cases lead to a substantial reduction in the number of needed test executions when compared to previous approaches.
Kari Kähkönen, Keijo Heljanko
ACM Trans. Embed. Comput. Syst.1
2017 Minimizing Test Suites with Unfoldings of Multithreaded Programs
abstract
This article focuses on computing minimal test suites for multithreaded programs. Based on previous work on test case generation for multithreaded programs using unfoldings, this article shows how this unfolding can be used to generate minimal test suites covering all local states of the program. Generating such minimal test suites is shown to be NP-complete in the size of the unfolding. We propose an SMT encoding for this problem and two methods based on heuristics which only approximate the solution, but scale better in practice. Finally, we apply our methods to compute the minimal test suites for several benchmarks.
Olli Saarikivi, Hernán Ponce de León, Kari Kähkönen, Keijo Heljanko, Javier Esparza
ACM Trans. Embed. Comput. Syst.3
2015 Unfolding based automated testing of multithreaded programs
Kari Kähkönen, Olli Saarikivi, Keijo Heljanko
Autom. Softw. Eng.1
2012 Using unfoldings in automated testing of multithreaded programs
abstract
In multithreaded programs both environment input data and the nondeterministic interleavings of concurrent events can affect the behavior of the program. One approach to systematically explore the nondeterminism caused by input data is dynamic symbolic execution. For testing multithreaded programs we present a new approach that combines dynamic symbolic execution with unfoldings, a method originally developed for Petri nets but also applied to many other models of concurrency. We provide an experimental comparison of our new approach with existing algorithms combining dynamic symbolic execution and partial-order reductions and show that the new algorithm can explore the reachable control states of each thread with a significantly smaller number of test runs. In some cases the reduction to the number of test runs can be even exponential allowing programs with long test executions or hard-to-solve constrains generated by symbolic execution to be tested more efficiently.
Kari Kähkönen, Olli Saarikivi, Keijo Heljanko
ASE1
2009 The LIME Interface Specification Language and Runtime Monitoring Tool
Kari Kähkönen, Jani Lampinen, Keijo Heljanko, Ilkka Niemelä
RV1