Skip to main content
Erschienen in: Mobile Networks and Applications 2/2017

26.01.2017

A Formal Approach to Checking Consistency in Software Refactoring

verfasst von: Hong Anh Le, Thi-Huong Dao, Ninh-Thuan Truong

Erschienen in: Mobile Networks and Applications | Ausgabe 2/2017

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

In software development, refactoring is a process that improves the system internal structure without altering its external behavior. Applying design patterns, which are common reusable solutions of several kinds of problems is widely adopted. This technique, however, raises a challenging issue that after applying design patterns the software system may not preserve some certain behavioral properties. This paper proposes a new approach to checking consistency between original software system and its evolution at both design and implementation phases. First, we formalize elements of software designs and programs. Methods, based on these formalizations, are proposed for verifying the design and implementation of the system. Finally, the paper presents a case study of Adaptive Road Traffic Control system to illustrate the proposed approach in detail.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Weitere Produktempfehlungen anzeigen
Literatur
1.
Zurück zum Zitat Object management group. ocl 2.4 specification. (2014) Object management group. ocl 2.4 specification. (2014)
3.
Zurück zum Zitat Alexander C, Ishikawa S, Silverstein M (1977) Pattern languages. Center for Environmental Structure 2:1977 Alexander C, Ishikawa S, Silverstein M (1977) Pattern languages. Center for Environmental Structure 2:1977
4.
Zurück zum Zitat Beckert B, Keller U, Schmitt PH (2002) Translating the object constraint language into first-order predicate logic. In: Proceedings, VERIFY, workshop at federated logic conferences (FLoC), pp 113–123 Beckert B, Keller U, Schmitt PH (2002) Translating the object constraint language into first-order predicate logic. In: Proceedings, VERIFY, workshop at federated logic conferences (FLoC), pp 113–123
5.
Zurück zum Zitat Bottoni P, Parisi-Presicce F, Taentzer G (2003) Coordinated distributed diagram transformation for software evolution. Electron Notes Theor Comput Sci 72(4):59–70CrossRef Bottoni P, Parisi-Presicce F, Taentzer G (2003) Coordinated distributed diagram transformation for software evolution. Electron Notes Theor Comput Sci 72(4):59–70CrossRef
6.
Zurück zum Zitat Bottoni P, Parisi-Presicce F, Taentzer G (2003) Coordinated distributed diagram transformation for software evolution1 1partially supported by the ec under research and training network segravis. Electron Notes Theor Comput Sci 72(4):59–70CrossRef Bottoni P, Parisi-Presicce F, Taentzer G (2003) Coordinated distributed diagram transformation for software evolution1 1partially supported by the ec under research and training network segravis. Electron Notes Theor Comput Sci 72(4):59–70CrossRef
7.
Zurück zum Zitat Burdy L, Cheon Y, Cok DR, Ernst MD, Kiniry JR, Leavens GT, Rustan K, Leino M, Poll E (2005) An overview of jml tools and applications. Int J Softw Tools Technol Transfer 7(3):212–232CrossRef Burdy L, Cheon Y, Cok DR, Ernst MD, Kiniry JR, Leavens GT, Rustan K, Leino M, Poll E (2005) An overview of jml tools and applications. Int J Softw Tools Technol Transfer 7(3):212–232CrossRef
8.
Zurück zum Zitat Cabot J, Gogolla M (2012) Object constraint language (ocl): a definitive guide. In: Proceedings of the 12th international conference on formal methods for the design of computer, communication, and software systems: formal methods for model-driven engineering, SFM’12. Springer, Berlin, Heidelberg, pp 58–90 Cabot J, Gogolla M (2012) Object constraint language (ocl): a definitive guide. In: Proceedings of the 12th international conference on formal methods for the design of computer, communication, and software systems: formal methods for model-driven engineering, SFM’12. Springer, Berlin, Heidelberg, pp 58–90
9.
Zurück zum Zitat Cok DR (2011) Openjml: Jml for java 7 by extending openjdk. In: NASA formal methods symposium. Springer, pp 472–479 Cok DR (2011) Openjml: Jml for java 7 by extending openjdk. In: NASA formal methods symposium. Springer, pp 472–479
10.
Zurück zum Zitat De Moura L, Bjørner N (2008) Z3: an efficient smt solver. In: Proceedings of the theory and practice of software, 14th international conference on tools and algorithms for the construction and analysis of systems, TACAS’08/ETAPS’08. Springer, Berlin, Heidelberg, pp 337–340 De Moura L, Bjørner N (2008) Z3: an efficient smt solver. In: Proceedings of the theory and practice of software, 14th international conference on tools and algorithms for the construction and analysis of systems, TACAS’08/ETAPS’08. Springer, Berlin, Heidelberg, pp 337–340
11.
Zurück zum Zitat Dong J, Sheng Y, Zhang K (2006) A model transformation approach for design pattern evolutions. In: 13th annual IEEE international symposium and workshop on engineering of computer based systems, 2006. ECBS 2006, pp 10–92 Dong J, Sheng Y, Zhang K (2006) A model transformation approach for design pattern evolutions. In: 13th annual IEEE international symposium and workshop on engineering of computer based systems, 2006. ECBS 2006, pp 10–92
12.
Zurück zum Zitat Van Eetvelde N, Janssens D (2003) A hierarchical program representation for refactoring, vol 82. UNIGRA’03, Uniform Approaches to Graphical Process Specification Techniques (Satellite Event for {ETAPS} 2003) Van Eetvelde N, Janssens D (2003) A hierarchical program representation for refactoring, vol 82. UNIGRA’03, Uniform Approaches to Graphical Process Specification Techniques (Satellite Event for {ETAPS} 2003)
13.
Zurück zum Zitat Gamma E, Helm R, Johnson R, Vlissides J (1995) Design patterns: elements of reusable object-oriented software. Addison-Wesley Longman Publishing Co., Inc., BostonMATH Gamma E, Helm R, Johnson R, Vlissides J (1995) Design patterns: elements of reusable object-oriented software. Addison-Wesley Longman Publishing Co., Inc., BostonMATH
14.
Zurück zum Zitat He J (2005) Consistency checking of uml requirements. In: Proceedings of the 10th IEEE international conference on engineering of complex computer systems, ICECCS ’05. IEEE Computer Society, Washington, DC, USA, pp 411–420 He J (2005) Consistency checking of uml requirements. In: Proceedings of the 10th IEEE international conference on engineering of complex computer systems, ICECCS ’05. IEEE Computer Society, Washington, DC, USA, pp 411–420
15.
Zurück zum Zitat Leavens GT, Baker AL, Ruby C (2006) Preliminary design of jml: a behavioral interface specification language for java. ACM SIGSOFT Software Engineering Notes 31(3):1–38CrossRef Leavens GT, Baker AL, Ruby C (2006) Preliminary design of jml: a behavioral interface specification language for java. ACM SIGSOFT Software Engineering Notes 31(3):1–38CrossRef
17.
Zurück zum Zitat Marché C, Paulin-Mohring C, Urbain X (2004) The krakatoa tool for certificationof java/javacard programs annotated in jml. J Logic Algebraic Program 58(1):89–106CrossRefMATH Marché C, Paulin-Mohring C, Urbain X (2004) The krakatoa tool for certificationof java/javacard programs annotated in jml. J Logic Algebraic Program 58(1):89–106CrossRefMATH
18.
Zurück zum Zitat Matsumoto T, Sakunkonchak T, Saito H, Fujita M (2003) Verification of behavioral consistency in c by using symbolic simulation and program slicer. In: Model checking for dependable software-intensive systems workshop, pp 80–84 Matsumoto T, Sakunkonchak T, Saito H, Fujita M (2003) Verification of behavioral consistency in c by using symbolic simulation and program slicer. In: Model checking for dependable software-intensive systems workshop, pp 80–84
19.
Zurück zum Zitat Mens T, Tourwe T (2004) A survey of software refactoring. IEEE Trans Softw Eng 30(2):126–139CrossRef Mens T, Tourwe T (2004) A survey of software refactoring. IEEE Trans Softw Eng 30(2):126–139CrossRef
20.
Zurück zum Zitat Mens T, Demeyer S, Janssens D (2002) ForMalising behaviour preserving program transformations. In: Corradini A, Ehrig H, Kreowski H -J, Rozenberg G (eds) Graph transformation, volume 2505 of lecture notes in computer science. Springer, Berlin Heidelberg, pp 286–301 Mens T, Demeyer S, Janssens D (2002) ForMalising behaviour preserving program transformations. In: Corradini A, Ehrig H, Kreowski H -J, Rozenberg G (eds) Graph transformation, volume 2505 of lecture notes in computer science. Springer, Berlin Heidelberg, pp 286–301
21.
Zurück zum Zitat Opdyke WF (1992) Refactoring: a program restructuring aid in designing object-oriented application frameworks. PhD thesis, University of Illinois at Urbana-Champaign Opdyke WF (1992) Refactoring: a program restructuring aid in designing object-oriented application frameworks. PhD thesis, University of Illinois at Urbana-Champaign
22.
Zurück zum Zitat Rasch H, Wehrheim H (2003) Checking consistency in uml diagrams: classes and state machines. In: Najm E, Nestmann U, Stevens P (eds) Formal methods for open object-based distributed systems, volume 2884 of lecture notes in computer science. Springer, Berlin Heidelberg, pp 229–243 Rasch H, Wehrheim H (2003) Checking consistency in uml diagrams: classes and state machines. In: Najm E, Nestmann U, Stevens P (eds) Formal methods for open object-based distributed systems, volume 2884 of lecture notes in computer science. Springer, Berlin Heidelberg, pp 229–243
23.
Zurück zum Zitat Van Der Straeten R, Mens T, Simmonds J, Jonckers V (2003) Using description logic to maintain consistency between uml models. In: Stevens P, Whittle J, Booch G (eds) ÇUMLÈ 2003 - the unified modeling language. Modeling languages and applications, volume 2863 of lecture notes in computer science. Springer, Berlin Heidelberg, pp 326–340 Van Der Straeten R, Mens T, Simmonds J, Jonckers V (2003) Using description logic to maintain consistency between uml models. In: Stevens P, Whittle J, Booch G (eds) ÇUMLÈ 2003 - the unified modeling language. Modeling languages and applications, volume 2863 of lecture notes in computer science. Springer, Berlin Heidelberg, pp 326–340
24.
Zurück zum Zitat Ward MP, Bennett KH (1995) Formal methods to aid the evolution of software. Int J Softw Eng Knowl Eng 5:25–47CrossRef Ward MP, Bennett KH (1995) Formal methods to aid the evolution of software. Int J Softw Eng Knowl Eng 5:25–47CrossRef
25.
Zurück zum Zitat Zhao C, Kong J, Zhang K (2007) Design pattern evolution and verification using graph transformation. In: 40th annual hawaii international conference on system sciences, 2007. HICSS 2007, pp 290a–290a Zhao C, Kong J, Zhang K (2007) Design pattern evolution and verification using graph transformation. In: 40th annual hawaii international conference on system sciences, 2007. HICSS 2007, pp 290a–290a
Metadaten
Titel
A Formal Approach to Checking Consistency in Software Refactoring
verfasst von
Hong Anh Le
Thi-Huong Dao
Ninh-Thuan Truong
Publikationsdatum
26.01.2017
Verlag
Springer US
Erschienen in
Mobile Networks and Applications / Ausgabe 2/2017
Print ISSN: 1383-469X
Elektronische ISSN: 1572-8153
DOI
https://doi.org/10.1007/s11036-017-0807-z

Weitere Artikel der Ausgabe 2/2017

Mobile Networks and Applications 2/2017 Zur Ausgabe

Neuer Inhalt