Um Ambiente para Detecção de Cenários Implícitos a partir de Rastros de Execução
Resumo
Um cenário descreve como um ou mais componentes de um sistema interagem para oferecer um conjunto de funcionalidades. Devido a cada cenário representar apenas uma visão parcial do comportamento global do sistema, especificações baseadas em cenários podem esconder comportamentos inusitados, denominados “cenários implícitos”, não previstos nos cenários originais. A presença de cenários implícitos tanto pode indicar falhas na especificação do sistema, como comportamentos indesejados a serem evitados. Este trabalho apresenta um ambiente de engenharia reversa para apoiar a extração e detecção de cenários implícitos a partir de rastros de execução. A principal contribuição do trabalho é permitir que os desenvolvedores se beneficiem do conceito de cenários implícitos, até então restrito às fases iniciais do ciclo de vida de software, também para apoiar atividades de compreensão e teste de sistemas existentes.
Referências
Beck, K. (2003), Test-Driven Development by Example, Addison-Wesley.
Briand, L.C., Labiche, Y., Miao, Y. (2003), Towards the Reverse Engineering of UML Sequence Diagrams. In Proc. 10th Work. Conf. on Reverse Engineering (WCRE’03), Victoria, BC, Canada.
Hamou-Lhadj, A., Braun, E., Amyot, D., Lethbridge, T. (2005), Recovering Behavioral Design Models from Execution Traces. In Proc. 9th Eur. Conf. on Software Maintenance and Reengineering (CSMR'05), Manchester, U.K.
Hamou-Lhadj, A., Lethbridge, T. C. (2004), A Survey of Trace Exploration Tools and Techniques. In Proc. 2004 Conference of the Centre for Advanced Studies and Collaborative Research (CASCON’04), Markham, Ontario, Canada, pp. 42-55.
Hamou-Lhadj, A., Lethbridge, T. C. (2005), Reasoning about the Concept of Utilities. In Proc. 1st ECOOP Workshop on Practical Problems of Programming in the Large (PPPL’04), Oslo, Norway, LNCS Vol. 3344, Springer.
Hamou-Lhadj, A., Lethbridge, T. C. (2003), Techniques for Reducing the Complexity of Object-Oriented Execution Traces. In Proc. 2nd DESIGNFEST on Visualizing XXI Simpósio Brasileiro de Engenharia de Software SBES 2007 321 Software for Understanding and Analysis (VISSOFT’03), Amsterdam, The Netherlands.
IBM Research, Jinsight: Visualizing the Execution of Java Programs. Disponível em http://www.research.ibm.com/jinsight.
ITU-T Recommendation Z.120 (2004), Message Sequence Chart (MSC).
Magee, J. and Kramer, J. (1999), Concurrency: State Models and Java Programs, John Wiley & Sons Ltd., New York.
Mansurov, N., Campara, D. (2001), Using Message Sequence Charts to Accelerate Maintenance of Existing Systems. In Proc. 10th Int. SDL Forum (SDL'01: Meeting UML), LNCS Vol. 2078, Springer.
OMG, Unified Modeling Language Specification V2.1.1. Disponível em http://www.omg.org/technology/documents/formal/uml.htm.
OMG, XML Metadata Interchange Specification V2.1. Disponível em http://www.omg.org/technology/documents/formal/xmi.htm.
Richner, T., Ducasse, S. (2002), Using Dynamic Information for the Iterative Recovery of Collaborations and Roles. In Proc. 18th Int. Conf. on Software Maintenance (ICSM'02), Montreal, Quebec, Canada.
Rountev, A., Volgin, O., Reddoch, M. (2004), Control Flow Analysis for Reverse Engineering of Sequence Diagrams, Tech. Report OSU-CISRC-3/04-TR12, Depart. of Computer Science and Engineering, Ohio State University.
SUN, Java Pet Store. Disponível em http://java.sun.com/developer/releases/petstore/.
SUN, Java Platform Debugger Architecture. Disponível em http://java.sun.com/javase/6/docs/technotes/guides/jpda/index.html.
SUN, Java SE 6 Platform. Disponível em http://java.sun.com/javase/.
Uchitel, S., Chatley, R., Kramer, J., Magee, J. (2003), LTSA-MSC: Tool Support for Behaviour Model Elaboration Using Implied Scenarios. In Proc. 9th Int. Conf. on Tools and Algorithms for the Construction and Analysis of Systems (TACAS'03), LNCS Vol. 2619, Springer.
Uchitel, S., Kramer, J., Magee, J. (2001), Detecting Implied Scenarios in Message Sequence Chart Specifications. In Proc. Joint 8th Euro. Software Engineering Conference (ESEC’01) and 9th ACM SIGSOFT Symp. on the Found. of Software Engineering (FSE’01), Vienna, Austria, pp. 74-82.
Uchitel, S., Kramer, J., Magee, J. (2004), Incremental Elaboration of Scenario-based Specifications and Behaviour Models Using Implied Scenarios, ACM Trans. on Software Engineering and Methodology, 13(1).
Uchitel, S., Kramer, J., Magee, J. (2002), Negative Scenarios for Implied Scenario Elicitation. In Proc. 10th ACM SIGSOFT Symp. on the Found. of Software Engineering (FSE’02), Charleston, SC, USA.
Uchitel, S., Kramer, J., Magee, J. (2003), Synthesis of Behavioral Models from Scenarios, IEEE Trans. on Software Engineering, 29(2), pp. 99-115.
W3C, XSL Transformations. Disponível em http://www.w3.org/TR/xslt.