Computer Science ›› 2017, Vol. 44 ›› Issue (11): 195-201.doi: 10.11896/j.issn.1002-137X.2017.11.030

Previous Articles     Next Articles

Non-deadlock Concurrency Fault Localization Approach Based on Adequate Test Criteria

CHEN Cheng, ZHENG Zheng, WANG Hao-qin and QIAO Yu   

  • Online:2018-12-01 Published:2018-12-01

Abstract: Concurrency programs are difficult to debug due to their congenital nondeterminism.Fault localization approaches may alleviate such situation.However,their performance heavily depends on the debug information.To allevia-te this problem,we proposed a non-deadlock concurrency fault localization approach based on adequate test criteria.Our approach consists of three parts:a prediction of the conditions meeting an adequate test criteria,a scheme of a test plan satisfied with the criteria,and a fault localization analysis using the debug information.Besides,a prototype called ConFinder based on this approach was implemented in C#.Moreover,experiments on programs containing real concurrency bugs were carried out.The result shows that our approach can localize non-deadlock concurrency bugs effectively and has stable performance.

Key words: Concurrency program,Software testing,Software fault localization

[1] MUSUVATHI M,QADEER S.Iterative context bounding forsystematic testing of multithreaded programs[C]∥ACM Sigplan Notices.New York,USA,2007:446-455.
[2] YIN Z,YUAN D,ZHOU Y,et al.How do fixes become bugs?[C]∥Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering.Sunnyvale,USA,2011:26-36.
[3] GODEFROID P,NAGAPPAN N.Concurrency at Microsoft:An exploratory survey[J/OL].
[4] LU S,PARK S,SEO E,et al.Learning from mistakes:a comprehensive study on real world concurrency bug characteristics[C]∥ACM Sigplan Notices.New York,USA,2008:329-339.
[5] FLANAGAN C,FREUND S N.Type-based race detection for Java[C]∥ACM SIGPLAN Notices.New York,USA,2000:219-232.
[6] PRATIKAKIS P,FOSTER J S,HICKS M.LOCKSMITH:context-sensitive correlation analysis for race detection[C]∥ACM SIGPLAN Notices.New York,USA,2006:320-331.
[7] SAVAGE S,BURROWS M,NELSON G,et al.Eraser:A dynamic data race detector for multithreaded programs[J].ACM Transactions on Computer Systems,1997,15(4):391-411.
[8] PARK S,LU S,ZHOU Y.CTrigger:exposing atomicity violation bugs from their hiding places[C]∥ACM SIGARCH Computer Architecture News.New York,USA,2009:25-36.
[9] LU S,JIANG W,ZHOU Y.A study of interleaving coverage criteria[C]∥The 6th Joint Meeting on European Software Engineering Conference and The ACM SIGSOFT Symposium on The Foundations of Software Engineering:Companion Papers.New York,USA,2007:533-536.
[10] ARULRAJ J,CHANG P C,JIN G,et al.Production-run software failure diagnosis via hardware performance counters[C]∥ACM SIGARCH Computer Architecture News.New York,USA,2013:101-112.
[11] PARK S,VUDUC R W,HARROLD M J.Falcon:fault localization in concurrent programs[C]∥Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering.New York,USA,2010:245-254.
[12] ZHENG M,EDENHOFNER J G,LUO Z,et al.CIVL:applying a general concurrency verification framework to C/Pthreads programs (competition contribution)[C]∥International Conference on Tools and Algorithms for the Construction and Analysis of Systems.Berlin,GER,2016:908-911.
[13] ZHANG T,LEE D,JUNG C.TxRace:Efficient Data Race Detection Using Commodity Hardware Transactional Memory[C]∥Proceedings of the Twenty-First International Conference on Architectural Support for Programming Languages and Opera-ting Systems.New York,USA,2016:159-173.
[14] JONES J A,HARROLD M J.Empirical evaluation of the tarantula automatic fault-localization technique[C]∥Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering.New York,USA,2005:273-282.
[15] ABREU R,ZOETEWEIJ P,VAN GEMUND A J C.On the accuracy of spectrum-based fault localization[C]∥Testing:Academic and Industrial Conference Practice and Research Techniques-MUTATION.Windsor,UK,2007:89-98.
[16] EYTANI Y,HAVELUND K,STOLLER S D,et al.Towards a framework and a benchmark for testing tools for multi-threaded programs[J].Concurrency and Computation:Practice and Experience,2007,19(3):267-279.
[17] SEN K.Race directed random testing of concurrent programs[J].ACM SIGPLAN Notices,2008,43(6):11-21.
[18] WU Z,LU K,WANG X,et al.Collaborative technique for concurrency bug detection[J].International Journal of Parallel Programming,2015,43(2):260-285.
[19] PARK S,VUDUC R,HARROLD M J.UNICORN:a unified approach for localizing non-deadlock concurrency bugs[J].Software Testing,Verification and Reliability,2015,25(3):167-190.
[20] PARK C S,SEN K.Randomized active atomicity violation detection in concurrent programs[C]∥Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of Software Engineering.New York,USA,2008:135-145.
[22] CAI Y,CAO L.Fixing deadlocks via lock pre-acquisitions[C]∥Proceedings of the 38th International Conference on Software Engineering.New York,USA,2016:1109-1120.
[23] YU Y,RODEHEFFER T,CHEN W.Racetrack:efficient detection of data race conditions via adaptive tracking[C]∥ACM SIGOPS Operating Systems Review.New York,USA,2005:221-234.

No related articles found!
Full text



No Suggested Reading articles found!