ACM Home Page
Please provide us with feedback. Feedback
ConTest listeners: a concurrency-oriented infrastructure for Java test and heal tools
Full text PdfPdf (180 KB)
Source Foundations of Software Engineering archive
Fourth international workshop on Software quality assurance: in conjunction with the 6th ESEC/FSE joint meeting table of contents
Dubrovnik, Croatia
SESSION: Self-healing software table of contents
Pages: 9 - 16  
Year of Publication: 2007
ISBN:978-1-59593-724-7
Authors
Yarden Nir-Buchbinder  IBM Haifa Research Center
Shmuel Ur  IBM Haifa Research Center
Sponsors
SIGSOFT: ACM Special Interest Group on Software Engineering
CEPIS : The Council of European Professional Informatics Societies
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 41,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1295074.1295077
What is a DOI?

ABSTRACT

With the proliferation of the new multi-core personal computers, and the explosion of the usage of highly concurrent machine configuration, concurrent code moves from being written by the select few to the masses. As anyone who has written such code knows, there are many traps awaiting. This increases the need for good concurrency-aware tools to be used in the program quality cycle: monitoring, testing, debugging, and the emerging field of self-healing.

Academics who build such tools face two main difficulties; writing the instrumentation infrastructure for the tool, and integrating it into real user environments to obtain meaningful results. As these difficulties are hard to overcome, most academic tools do not make it past the toy stage.

The ConTest Listener architecture provides instrumentation and runtime engines to which writers of test and heal tools, especially concurrency-oriented, can easily plug their code. This paper describes this architecture, mainly from the point of view of a user intending to create a testing/healing tool. This architecture enables tool creators to focus on the concurrent problem they are trying to solve without writing the entire infrastructure. In addition, once they create a tool within the ConTest Listeners framework the tool can be used by the framework users with no additional work, enabling access to real industrial applications. We show how to create tools using the architecture and describe some work that has already taken place.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
C. Artho, K. Havelund, and A. Biere. High-level data races. In VVEIS'03, The First International Workshop on Verification and Validation of Enterprise Information Systems, April 2003.
 
2
AspectJ Team. The AspectJ programming guide. Version 1.5.3. Available from http://eclipse.org/aspectj, 2006.
3
4
5
 
6
S. Copty and S. Ur. Multi-threaded testing with aop is easy, and it finds bugs! In Proc. 11th International Euro-Par Conference, pages 740--749. LNCS, 2005.
 
7
S. Copty and S. Ur. Toward automatic concurrent debugging via minimal program mutant generation with aspectj. In TV06, 2006.
 
8
Eclipse Organization. Welcome to eclipse (plugin developer guide). http://eclipse.org/documentation, 2005.
 
9
O. Edelstein, E. Farchi, Y. Nir, G. Ratzaby, and S. Ur. Multithreaded java program test generation. IBM Systems Journal, 41(3):111--125, 2002.
 
10
 
11
E. Farchi, Y. Nir-Buchbinder, and S. Ur. Cross-run lock discipline checker for java. In Parallel and Distributed Systems: Testing and Debugging (PADTAD - 3), November 2005.
 
12
 
13
Mozilla FireFox. developer center. http://developer.mozilla.org/en/docs/Main_Page.
14
 
15
 
16


Collaborative Colleagues:
Yarden Nir-Buchbinder: colleagues
Shmuel Ur: colleagues