ABSTRACT
Developers modify their systems by changing source code, updating test suites, and altering their system's execution context. When they make these modifications, they have an understanding of the behavioural changes they expect to happen when the system is executed; when the system does not conform to their expectations, developers try to ensure their modification did not introduce some unexpected or undesirable behavioural change. We present an approach that integrates with existing continuous integration systems to help developers identify situations whereby their changes may have introduced unexpected behavioural consequences. In this research demonstration, we show how our approach can help developers identify and investigate unanticipated behavioural changes.
- O.-J. Dahl, E. Dijkstra, and C. Hoare. Structured Programming. Academic Press, 1972. Google ScholarDigital Library
- E. W. Dijkstra. Letters to the editor: Go to statement considered harmful. Communications of the ACM, 11(3):147--148, 1968. Google ScholarDigital Library
- M. Fowler. Inversion of control containers and the dependency injection pattern. http://martinfowler.com/articles/injection.html. "Last significant update: 23 Jan 04".Google Scholar
- M. Fowler. Reducing coupling. IEEE Software, 18(4):102--104, Jul/Aug 2001. Google ScholarDigital Library
- D. Garlan and C. Scott. Adding implicit invocation to traditional programming languages. In Proceedings of the International Conference on Software Engineering (ICSE), pages 447--455, 1993. Google ScholarDigital Library
- A. Goldberg and D. Robson. Smalltalk-80: The language and its implementation. Addison-Wesley Longman Publishing Co., Inc., 1983. Google ScholarDigital Library
- J. B. Goodenough. Structured exception handling. In Proceedings of the Symposium on Principles of Programming Languages (POPL), pages 204--224, 1975. Google ScholarDigital Library
- R. Holmes and D. Notkin. Identifying program, test, and environmental changes that affect behaviour. In Proceedings of the International Conference on Software Engineering (ICSE), 10 pages, 2011. Google ScholarDigital Library
- B. G. Ryder and M. L. Soffa. Influences on the design of exception handling: ACM SIGSOFT project on the impact of software engineering research on programming language design. SIGPLAN Notices, 38(6):16--22, 2003. Google ScholarDigital Library
Index Terms
- Identifying opaque behavioural changes
Recommendations
A review on exception analysis
Context: Exception handling has become popular in most major programming languages, including Ada, C++, Java, and ML. Since exception handling was introduced in programming languages, there have been various kinds of exception analyses, which analyze ...
A catalogue of bug patterns for exception handling in aspect-oriented programs
PLoP '08: Proceedings of the 15th Conference on Pattern Languages of ProgramsAspects allow a developer to externally add new functionality to a program. This additional functionality may also throw new exceptions that will flow through the program execution until they are handled. Moreover, aspects can also be used to handle ...
Comments