Home

Update: Jul 28, 2004

Research Interest

After some experiences on network security and system design, now I focus on software engineering issues. Read the following quotes, you may have the same feeling as mine: software engineering is as interesting as life.

Adding manpower to a late software project makes it later.
--- Brook's Law, Frederick Brooks, "The Mythical Man-month"

(Compared to software, ) The brain alone is intricate beyond mapping, powerful beyond imitation, rich in diversity, self-protecting, and self-renewing. The secret is that it is grown, not built.
--- Fredirick Brooks, "The Mythical Man-month", "No Silver Bullet"

Loneliness is often at the heart of job dissatisfaction.
--- Ken Beck, "Extreme Programming Explained"

Everybody in a business unit has exactly the same ... job description, and that is to ship products. Your job is not to write code, your job is not to test, your job is not to write specs. Your job is to ship products ... You're trying not to write code. If we could make all this money by not writing code, we'd do it.
--- Cusumano and Selby, "Microsoft Secrets"

Production speed is severely slowed down if one works with half-time people who have other obligations as well. This is at least a factor of four; probably it is worse.
--- Edsger W. Dijkstra

All quotes >>

Search For Documents

I will not post PDF files on my web any more, since there is no need, like an old Chinese saying "putting feet on a snake". (David L. Parnas ever worried about that the software engineering is to "put feet on a snake").

Most of the documents can be found via the following links or, in the worse case, in library.

Ongoing Work

1. Reasoning About Aspect-Oriented Programming

Publications

Jia Xu, Hridesh Rajan, Kevin Sullivan, Understanding Aspects via Implicit Invocation, IEEE Automated Software Engineering, September 2004

Jia Xu, Hridesh Rajan, Kevin Sullivan, Aspect Reasoning by Reduction to Implicit Invocation, Foundations of Aspect-Oriented Languages 2004 in conjunction with Aspect-Oriented Software Development 2004, March 2004

Related Links

Reading List

Aspect Oriented Programming

  • [Kiczales97] Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Videira Lopes, Jean-Marc Loingtier, John Irwin, "Aspect-Oriented Programming", Proceedings European Conference on Object-Oriented Programming, 1997

Formalizing AOP

  • [Wand02] Mitchell Wand, Gregor Kiczales, Christopher Dutchyn, "A Semantics for Advice and Dynamic Join Points in Aspect-Oriented Programming", 2002

Apply Model Checking directly to AOP

  • [Ubayashi02] Naoyasu Ubayashi , Tetsuo Tamai, "Aspect-oriented programming with model checking", Proceedings of the 1st international conference on Aspect-oriented software development, April 22-26, 2002, Enschede, The Netherlands

Fisler etl.al's approach to verify cross-cutting features

  • [Fisler01] Kathi Fisler , Shriram Krishnamurthi, "Modular verification of collaboration-based software designs", Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering, September 10-14, 2001, Vienna, Austria 

  • [Li02] Harry Li , Shriram Krishnamurthi , Kathi Fisler, "Verifying cross-cutting features as open systems", Proceedings of the tenth ACM SIGSOFT symposium on Foundations of software engineering, November 18-22, 2002, Charleston, South Carolina, USA

Dingel, Garlan, Bradbury et.al 's work on reasoning about Implicit Invocation Systems

  • [Dingel98] J. Dingel, D. Garlan, S. Jha, D. Notkin, "Reasoning about implicit invocation", Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering, November 1998

  • [Garlan03] David Garlan, Serge Khersonsky, and Jung Soo Kim, "Model Checking Publish-Subscribe Systems", Proceedings of The 10th International SPIN Workshop on Model Checking of Software (SPIN 03), Portland, Oregon, May 2003.

  • [Bradbury03] J. S. Bradbury, J. Dingel. "Evaluating and Improving the Automatic Analysis of Implicit Invocation Systems", In Proc. of the European Software Engineering Conference and the ACM SIGSOFT International Symposium on the Foundations of Software Engineering (ESEC/FSE 2003), Helsinki, Finland, Sept. 2003.

Use Slicing to reason about AOP

  • [Blair03] Lynne Blair, Mattia Monga, "Reasoning on AspectJ Programmes", GI-AOSDG 2003 Essen, Germany

Related to Superimposition Validation

  • [Sihman] Marcelo Sihman, Shmuel Katz, "Model Checking Applications of Aspects and Superimpositions"

2. Galileo Project

Past Work

Selective Regression Test (2003/06-07)

Misc. Reading List

General

  • Anthony Finkelstein & Jeff Kramer , "Software Engineering: a Roadmap", in The Future of Software Engineering, special volume, A. Finkelstein, Ed., 22nd International Conference on Software Engineering, June, 2000.

  • "Building a better bug-trap", The Economist, Jun 19th 2003

  • Daniel M. Hoff, David M. Weiss, Software Fundamentals: Collected Papers by David L. Parnas, Addison-Wesley Pub Co; 1st edition (April 9, 2001)

Software Process

  • Mills, H. "Chief programmer teams, principles, and procedures," IBM Federal Systems Division Report FSC 715198, Gaithersburg, MD., 1971

  • DeMarco, T., and T. Lister, Peopleware: Productive Projects and Teams. New York: Dorset House, 1987

  • B. W. Boehm, "A spiral model of software development and enhancement." IEEE Computer, pp. 61-72, May 1988

  • Frederick P. Brooks (1999-Turing Award-winner ), Jr. The Mythical Man-Month 2nd ed., Addison Wesley, 1995

  • M. A. Cusumano, Microsoft secrets : how the world's most powerful software company creates technology, shapes markets, and manages people, 1995

  • M. A. Cusamano and R.Selby, "How Microsoft builds software", Communication of the ACM, June 1997.

  • Kent Beck, Extreme Programming Explained, Addison Wesley, 2000

  • Windows Server 2003: The Road To Gold, from Paul Thurrott's supersite for windows. A good story about the histroy from Windows NT to Windows 2003 Server. Part two is remarkably interesting.

Software Economics

  • Boehm, B. W., Software Engineering Economics, Englewood Cliffs, N. J.: Prentice-Hall, 1981

  • Sullivan, K.J., Software Design: The Options Approach, Proceedings of the 2nd International Software Architecture Workshop, Joint Proceedings of the SIGSOFT '96 Workshops, San Francisco, CA, October, 1996, pp. 15--18.

  • Withey, J., "Investment Analysis of Software Assets for Product Lines," Software Engineering Institute, Carnegie Mellon University, Technical Report CMU/SEI-96-TR-10, 1996

  • Favaro, J. M., K. R. Favaro and P. F. Favaro, "Value-based software reuse investment," Annals of Software Engineering 5, 1998, pp. 5-52

  • Boehm B., Egyed, A., Kwan, J., Port, D., Shah, A., and Madachy, R., "Using the WinWin Spiral Model: A Case Study," IEEE Computer, July 1998, pp. 33-44

  • Sullivan, K.J., P. Chalasani, S. Jha and V. Sazawal, "Software Design as an Investment Activity: A Real Options Perspective", in Real Options and Business Strategy: Applications to Decision Making, L. Trigeorgis, consulting editor, Risk Books, December 1999

  • Baldwin, C. Y. and Clark, K. B. Design Rules: The Power of Modularity, MIT Press, 2000

  • B. Boehm and K.J. Sullivan, "Software Economics: A Roadmap", in The Future of Software Engineering, special volume, A. Finkelstein, Ed., 22nd International Conference on Software Engineering, June, 2000

  • Kevin Sullivan, Yuanfang Cai, Ben Hallen, and Willam Griswold, "The Structure and Value of Modularity in Software Design, " Joint 8th ESEC & 9th FSE, Sep 2001, Vienna, Austria

Design & Architecture

  • Burks, A. W, H. H. Goldstine, and J. von Neumann (1946), "Preliminary Discussion of the Logical Design of an Electronic Computing Instrument," reprinted in C. G. Bell and A. Newell, eds. (1971), Computer Structures: Readings and Examples. New York: McGraw-Hill, pp. 92-119

  • Alexander, C. Notes on the Synthesis of Form, Harvard University Press, 1964

  • Simon, H. A. The Sciences of the Artificial. MIT Press, 1969

  • Bell, C. G., and A. Newell, eds. Computer Structures: Reading and Examples, McGraw-Hill, 1971

  • Parnas, D. L. "On the criteria to be used in decomposing system into modules," Communications of the ACM, Vol. 15, No. 12, Dec 1972, pp. 1053-1058

  • Steward, D. V. "The Design Structure System: A Method for Managing the Design of Complex Systems," IEEE Trans. in Engineering Management, Vol. 28, no. 3, 1981, pp. 71-84

  • Haanstra, J. W., B. O. Evans, J. D. Aron, F. P. Brooks, Jr., J. W. Fairclough, W. P. Heising, H. Hellerman, W. H. Johnson, M. J. Kelly, D. V. Newton, B. G. Oldfield, S. A. Rosen, and J. Svigals, "Final Report of the SPREAD Task Group, December 28, 1961", Annals of the History of Computing 5(1): 6-26, 1983

  • Parnas, D. L. "Software aspects of strategic defense systems," Communications of the ACM, 28, 12 (Dec, 1985), pp. 1326-1335

  • Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995

  • M. Shaw and D. Garlan, Software Architecture, Prentice Hall, 1996

  • Eppinger, S. D. "A Planning method for integration of large-scale engineering systems," Int'l Conf. on Engineering Design, 1997

  • Carliss Y. Baldwin, Kim B. Clark, Design Rules Vol 1: The Power of Modularity, The MIT Press, 1999

Testing & Analysis

  • Mary Jean Harroad, "Testing: A Roadmap", in The Future of Software Engineering, special volume, A. Finkelstein, Ed., 22nd International Conference on Software Engineering, June, 2000.

  • Daniel Jackson, Martin Rinard, MIT, , "Software Analysis: A Roadmap", in The Future of Software Engineering, special volume, A. Finkelstein, Ed., 22nd International Conference on Software Engineering, June, 2000.

Modularity: Formal Models

  • D. Jackson and K.J. Sullivan, "COM Revisited: Tool-Assisted Modelling of an Architectural Framework," SIGSOFT 2000, ACM SIGSOFT International Symposium on the Foundations of Software Engineering, November, 2000.

  • Daniel Jackson, "Alloy: A Lightweight Object Modelling Notation ", ACM Transactions on Software Engineering and Methodology (TOSEM) , Volume 11, Issue 2 (April 2002), pp. 256-290

  • Daniel Jackson, Ian Schechter and Ilya Shlyakhter, "Alcoa: the Alloy Constraint Analyzer ", Proc. International Conference on Software Engineering, Limerick, Ireland, June 2000

Life, Economics & Politics

  • Schumacher, E. F., Small Is Beautiful: Economics as if People Mattered, Perennial Library Edition. New York: Harper and Row, 1973

  • Pugh, E.W., Building IBM: Shaping an Industry and Its Technology, Cambridge, Mass., MIT Press, 1995

Links

General

Organizations, Conferences & Literature

 

Top

Home