Skip to main content Accessibility help
×
Home

Assertion-based analysis via slicing with ABETS * (system description)

  • M. ALPUENTE (a1), F. FRECHINA (a1), J. SAPIÑA (a1) and D. BALLIS (a2)

Abstract

We present ABETS, an assertion-based, dynamic analyzer that helps diagnose errors in Maude programs. ABETS uses slicing to automatically create reduced versions of both a run's execution trace and executed program, reduced versions in which any information that is not relevant to the bug currently being diagnosed is removed. In addition, ABETS employs runtime assertion checking to automate the identification of bugs so that whenever an assertion is violated, the system automatically infers accurate slicing criteria from the failure. We summarize the main services provided by ABETS, which also include a novel assertion-based facility for program repair that generates suitable program fixes when a state invariant is violated. Finally, we provide an experimental evaluation that shows the performance and effectiveness of the system.

Copyright

Footnotes

Hide All
*

This work has been partially supported by the EU (FEDER) and Spanish MINECO grant TIN2015-69175-C4-1-R, and by Generalitat Valenciana PROMETEOII/2015/013. J. Sapiña was supported by FPI-UPV grant SP2013-0083.

Footnotes

References

Hide All
Alpuente, M., Ballis, D., Frechina, F. and Romero, D. 2014. Using conditional trace slicing for improving Maude programs. Science of Computer Programming 80, Part B, 385–415.
Alpuente, M., Ballis, D., Frechina, F. and Sapiña, J. 2015. Exploring conditional rewriting logic computations. Journal of Symbolic Computation 69, 339.
Alpuente, M., Ballis, D., Frechina, F. and Sapiña, J. 2016. Debugging Maude programs via runtime assertion checking and trace slicing. Journal of Logical and Algebraic Methods in Programmig 85, Issue 5, Part 1, 707–736.
Alpuente, M., Escobar, S., Espert, J. and Meseguer, J. 2014. A modular order-sorted equational generalization algorithm. Information and Computation 235, 98136.
Antoy, S. and Hanus, M. 2012. Contracts and specifications for functional logic programming. In Proc. of the 14th Int'l Symposium on Practical Aspects of Declarative Languages (PADL 2012). Lecture Notes in Computer Science, vol. 7149. Springer-Verlag, 3347.
Chitil, O. 2011. A semantics for lazy assertions. In Proc. of the 20th ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation (PEPM 2011). Association for Computing Machinery, 141–150.
Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J. and Talcott, C. 2007. All About Maude: A High-Performance Logical Framework. Springer-Verlag.
Durán, F., Eker, S., Escobar, S., Martí-Oliet, N., Meseguer, J. and Talcott, C. 2016. Built-in variant generation and unification, and their applications in Maude 2.7. In Proc. of the 8th International Joint Conference on Automated Reasoning (IJCAR 2016). Lecture Notes in Computer Science, vol. 9706. Springer-Verlag, 183192.
Durán, F., Roldán, M., Moreno-Delgado, A. and Álvarez, J. M. 2014. Dynamic validation of Maude prototypes of UML models. In Specification, Algebra, and Software - Essays Dedicated to Kokichi Futatsugi (SAS 2014), Iida, S., Meseguer, J. and Ogata, K., Eds., Lecture Notes in Computer Science, vol. 8373. Springer-Verlag, 212228.
Field, J. and Tip, F. 1994. Dynamic dependence in term rewriting systems and its application to program slicing. In Proc. of the 6th Int'l Symp. on Programming Language Implementation and Logic Programming (PLILP 1994). Lecture Notes in Computer Science, vol. 844. Springer-Verlag, 415431.
Logozzo, F. and Ball, T. 2012. Modular and verified automatic program repair. In Proc. of the 27th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2012). Association for Computing Machinery, 133–146.
Mera, E., López-García, P. and Hermenegildo, M. V. 2009. Integrating software testing and run-time checking in an assertion verification framework. In Proc. of the 25th Int'l Conference on Logic Programming (ICLP 2009). Lecture Notes in Computer Science, vol. 5649. Springer-Verlag, 281295.
Meseguer, J. 1992. Conditional rewriting logic as a unified model of concurrency. Theoretical Computer Science 96, 1, 73155.
Roşu, G. 2015. From rewriting logic, to programming language Semantics, to program verification. In Logic, Rewriting, and Concurrency - Festschrift Symposium in Honor of José Meseguer, Martí-Oliet, N., Csaba Ölveczky, P. and Talcott, C. L., Eds., Lecture Notes in Computer Science, vol. 9200. Springer-Verlag, 598616.

Keywords

Metrics

Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Abstract views

Total abstract views: 0 *
Loading metrics...

* Views captured on Cambridge Core between <date>. This data will be updated every 24 hours.

Usage data cannot currently be displayed