dc.contributor.author | Wang, Lulu | |
dc.contributor.author | Li, Jingyue | |
dc.contributor.author | Li, Bixin | |
dc.date.accessioned | 2019-11-29T09:12:06Z | |
dc.date.available | 2019-11-29T09:12:06Z | |
dc.date.created | 2018-11-14T09:33:04Z | |
dc.date.issued | 2019 | |
dc.identifier.citation | Journal of Systems and Software. 2019, 148 116-131. | nb_NO |
dc.identifier.issn | 0164-1212 | |
dc.identifier.uri | http://hdl.handle.net/11250/2630981 | |
dc.description.abstract | More than 75% of recent Java projects include some form of concurrent programming. Due to complex interactions between multi-threads, concurrent programs are often harder to understand and test than single threaded programs. To facilitate understanding and testing of concurrent programs, we developed a new profiling method called TCP (Thread Control Profiling). Outputs of TCP presents frequencies of control dependence, which includes thread creation, thread synchronization, interruption, and so on, of the executed thread. TCP first performs static analysis of detailed concurrency syntax and semantics of Java to construct the profiling graph model TCDG (Thread Control Dependence Graph). TCDG is then used for instrumentation and for generating profiles. We have evaluated TCP using a case study and a few experiments. The case study shows that TCP method can effectively prioritize test cases for testing concurrent programs. One experiment shows that outputs from TCP facilitate developers’ understanding of concurrent code. Other experiments evaluate various possible overheads introduced by the TCP method. Results show that TCP can provide rich and useful information with reasonable costs. | nb_NO |
dc.language.iso | eng | nb_NO |
dc.publisher | Elsevier | nb_NO |
dc.rights | Attribution-NonCommercial-NoDerivatives 4.0 Internasjonal | * |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/4.0/deed.no | * |
dc.title | Tracking Runtime Concurrent Dependences in Java Threads Using Thread Control Profiling | nb_NO |
dc.type | Journal article | nb_NO |
dc.type | Peer reviewed | nb_NO |
dc.description.version | acceptedVersion | nb_NO |
dc.source.pagenumber | 116-131 | nb_NO |
dc.source.volume | 148 | nb_NO |
dc.source.journal | Journal of Systems and Software | nb_NO |
dc.identifier.doi | 10.1016/j.jss.2018.11.003 | |
dc.identifier.cristin | 1630287 | |
dc.description.localcode | © 2018. This is the authors’ accepted and refereed manuscript to the article. Locked until 7.11.2020 due to copyright restrictions. This manuscript version is made available under the CC-BY-NC-ND 4.0 license http://creativecommons.org/licenses/by-nc-nd/4.0/ | nb_NO |
cristin.unitcode | 194,63,10,0 | |
cristin.unitname | Institutt for datateknologi og informatikk | |
cristin.ispublished | true | |
cristin.fulltext | original | |
cristin.qualitycode | 2 | |