l

2016年5月17日 星期二

例外處理設計參考資料

May 16 11:10~11:50

image

▲把這一本看完、看懂,就已經很厲害了

 

有鄉民在〈美好的事物〉留言問到:「例外處理還有什麼可以參考的呢?」從實務觀點來看,能夠把《笑談軟體工程:例外處理設計的逆襲》讀完、讀懂,應該就很夠用了。如果還想進一步專研,Teddy提供當年博士論文參考資料清單給鄉民們參考,藍色部分為優先建議閱讀資料。

***

[1] K. Arnold, J. Gosling, and D. Holmes, The Java Programming Language, 4th ed., Addison-Wesley, 2006.

[2] B. Venners, “Failure and exceptions: A conversation with James Gosling, Part II,” Available from http://www.artima.com/intv/solidP.html, 2003.

[3] B. Eckel, “Does Java need Checked Exceptions?” Available from http://www.mindview.net/Etc/Discussions/CheckedExceptions.

[4] B. Venners and B. Eckel, “The trouble with checked exceptions: A conversation with Anders Hejlsberg, Part II,” Available from http://www.artima.com/intv/handcuffsP.html, 2003.

[5] B. Eckel, Thinking in Java, 4th ed., Prentice Hall, 2006, pp. 477-478.

[6] P. A. Lee and T. Anderson, Fault Tolerance: Principles and Practice, 2nd ed., Wien, 1990.

[7] A. F. Garcia, C. M. F. Rubira, A. Romanovsky, and J. Xu, “A comparative study of exception handling mechanisms for building dependable object-oriented software,” Journal of Systems and Software, vol. 59, no. 2: 197-222, 2001.

[8] J. B. Goodenough, “Exception Handling: Issues and a Proposed Notation,” CACM, vol. 18, no 12: 683-696, 1975.

[9] J. L. Knudsen, “Exception Handling versus Fault Tolerance,” Proc. of ECOOP’00, Springer-Verlag, 2001, pp. 1-17.

[10] S. Stelting, Robust Java: Exception Handling, Testing and Debugging, Prentice Hall PTR, 2005.

[11] R. Miller and A. Tripathi, “Issues with exception handling in object-oriented systems,” LNCS, vol. 1241: 85-103, Springer, 1997.

[12] J. Bloch, Effective Java Programming Language Guide, Addison Wesley, 2001.

[13] B. Stroustrup, The C++ Programming Language, 3rd ed., Addison-Wesley, 2000.

[14] J. Shore, “Fail fast,” IEEE Software, 21 (5), 2004, pp. 21-25.

[15] P. A. Lee and T. Anderson, Fault Tolerance: Principles and Practice, 2nd ed., 1990, Springer.

[16] L. L. Pullum, Software Fault Tolerance Techniques and Implementation, Artech House, 2001.

[17] F. Cristian, “Exception handling and software fault tolerance,” IEEE Transactions on Computers, c-31 (6), 1982, pp. 531-540.

[18] B. Myer, Object-Oriented Software Construction, 2nd ed., Prentice Hall, 1997.

[19] R. Wirfs-Brock, “Designing for recovery,” IEEE Software, 23 (4), 2006, pp. 11-13.

[20] A. Müller and G. Simmons, “Exception Handling: Common Problems and Best Practice with Java 1.4,” Net.ObjectDays 2002, 2002, Last checked on 2008-6-12, <http://www.old.netobjectdays.org/node02/de/Conf/publish/slides.html>.

[21] E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995.

[22] W. Pree, Design Patterns for Object-Oriented Software Development, Addison Wesley, 1995, pp.98-99.

[23] R. C. Martin, Agile Software Development: Principles, Patterns, and Practices, Prentice Hall, 2003.

[24] T. Archer and A. Whitechapel, Inside C#, 2nd ed., Microsoft Press, 2002.

[25] S. Northover and M. Wilson, SWT: The Standard Widget Toolkit, Volume 1, Addison-Wesley, 2004.

[26] C. Szyperski, D. Gruntz, and S. Murer, Component Software: Beyond Object-Oriented Programming, 2nd ed., Addison-Wesley, 2002, pp.52-53.

[27] M. Fowler, “Public versus Published Interfaces,” IEEE Software, vol. 19, no. 2, Mar/Apr, 2002, pp.18-19.

[28] A. Haase, “Java idioms: exception handling,” EuroPLoP’2002, 2002.

[29] M. Fowler, Refactoring: Improving the Design of Existing Code, Addison-Wesley, 2000.

[30] T. Mens and T. Tourwé, “A survey of software refactoring,” IEEE Transaction on Software Engineering, 30 (2), 2004, pp. 126- 139.

[31] B. V. Haecke, JDBC 3.0: Java Database Connectivity, M&T Books, 2002.

[32] R. Wirfs-Brock, “Toward exception-handling best practices and patterns,” IEEE Software, 23 (5), 2006, pp. 11-13.

[33] R. H. Campbell and B. Randell, “Error recovery in asynchronous systems,” IEEE Transaction on Software Engineering, SE-12 (8), 1986, pp. 811-826.

[34] M. Parsian, JDBC Recipes: A Problem-Solution Approach, Apress, 2005.

[35] J. Bloch and N. Gafter, Java Puzzlers: Traps, Pitfalls, and Corner Cases, Addison-Wesley, 2005.

[36] K. Beck, Smalltalk Best Practice Patterns, Prentice Hall, 1996.

[37] E. Gamma and K. Beck, Contributing to Eclipse: Principles, Patterns, and Plug-Ins, Addison-Wesley, 2004.

[38] R. Wirfs-Brock and A. McKean, Object Design: Roles, Responsibilities, and Collaborations, Addison-Wesley, 2003.

[39] MSDN, .NET Framework Class Library: Exception.Data Property, Last checked on 2008-08-12, <http://msdn.microsoft.com/en-us/library/system.exception.data(VS.80).aspx>.

[40] A. Avizienis, J.-C. Laprie, B. Randell, and C. Landwehr, “Basic concepts and taxonomy of dependable and secure computing,” IEEE Transactions on Dependable and Secure Computing, 1 (1), 2004, pp. 11-33.

[41] K. Renzel, “Error handling, a pattern language,” 1997, Last checked on 2007-07-24, <http://www.objectarchitects.de/arcus/cookbook/exhandling/index.htm>.

[42] D. Schwarz, “Avoiding checked exceptions,” 2004, Last checked on 2007-07-24, <http://www.oreillynet.com/onjava/blog/2004/09/avoiding_checked_exceptions.html>

[43] C. Alexander, S. Ishikawa, M. Silverstein, M. Jacobson, I. Fiksdahl-King, and S. Angel, A Pattern Language, Oxford University Press, 1977.

[44] C. Alexander, The Timeless Way of Building, Oxford University Press, 1979.

[45] C. Alexander, M. Siverstein, S. Angel, S. Ishikawa, and D. Abrams, The Oregon experiment, Oxford University Press, 1988.

[46] K. Beck andR. Johnson, “Patterns generate architectures,” Lectures Notes in Computer Science, vol. 821, 1994, pp. 139-149.

[47] T.-C. She, C.-T. Chen, and C.-Y. Hsieh, “Realizing Exception Handling Strategy by Extending Eclipse Quick Fix Unhandled Exception,” Proceedings of the Second Taiwan Conference on Software Engineering, 2006, pp.89-94. (in Chinese)

[48] T.-C. She, “An Exception Handling Architecture and Utility Support for Java Language,” Master thesis, National Taipei University of Technology, 2006.

[49] Y.-F. Chen, “Tool Support for Implementing Robustness Models for Exception Handling,” Master thesis, National Taipei University of Technology, 2008.

[50] C.-T. Chen, Y C Cheng, C.-Y. Hsieh, I-L. Wu, “Exception handling refactorings: Directed by goals and driven by bug fixing,” Journal of Systems and Software, doi:10.1016/j.jss.2008.06.035, 2008.

[51] A. S. Tanenbaum and M. V. Steen, Distributed Systems: Principles and Paradigms, Prentice Hall, 2002.

[52] S. W. Ambler and P. J. Sadalage, Refactoring Databases: Evolutionary Database Design, Addison-Wesley, 2006.

[53] G. Meszaros, xUnit Test Patterns: Refactoring Test Code, Addison-Wesley, 2007.

[54] J. Kerievsky, Refactoring to Patterns, Addison-Wesley, 2006.

[55] M. Lippert, and S. Roock, Refactoring in Large Software Projects: Performing Complex Restructurings Successfully, Wiley, 2006.

[56] A. Longshaw, and E. Woods, “Patterns for the generation, handling and management of errors,” EuroPLOP’2004, 2004.

[57] W. Weimer and G. C. Necula, “Finding and preventing run-time error handling mistakes,” OOPSLA’04, 2004, pp. 419-431.

[58] R. J. Abbott, “Resourceful systems for fault tolerance, reliability and safety,” ACM Computing Surveys, 22 (1), 1990, pp. 35-68.

[59] D. Binkley, M. Ceccato, M., Harman, F. Ricca, and P. Tonella, “Tool-supported refactoring of existing object-oriented code into aspects,” IEEE Transactions on Software Engineering, 32 (9), 2006, pp. 698-717.

[60] M. P. Monteiro and J. M. Fernandes, “Towards a catalog of aspect-oriented refactorings,” Proc. Fourth Int’l Conf. Aspect-Oriented Software Development (AOSD), 2005, pp. 111-122.

[61] R. Laddad, “Aspect-Oriented Refactoring, parts 1 and 2,” The Server Side, 2003, Last checked on 2007-10-12. < http://www.theserverside.com/>.

[62] A. Longshaw and E. Woods, “More patterns for the generation, handling and management of errors,” EuroPLOP’2005, 2005.

***

畢業已多年想必這些年陸續有許多新的參考資料不在上面這個清單之中,鄉民們可以用以下關鍵字去Google搜尋或是找學術期刊:

  • exception handling
  • error handling
  • fault tolerance
  • reliability
  • robustness
  • dependable computing

***

友藏內心獨白:沒事看麼多書幹嘛XD。

1 則留言: