Skip to main content Accessibility help
×
Home

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

Published online by Cambridge University Press:  14 October 2016

M. ALPUENTE
Affiliation:
Universitat Politècnica de València, Departamento de Sistemas Informáticos y Computación, Camino de Vera, s/n, 46022 Valencia (Spain) (e-mails: alpuente@dsic.upv.es, ffrechina@dsic.upv.es, jsapina@dsic.upv.es)
F. FRECHINA
Affiliation:
Universitat Politècnica de València, Departamento de Sistemas Informáticos y Computación, Camino de Vera, s/n, 46022 Valencia (Spain) (e-mails: alpuente@dsic.upv.es, ffrechina@dsic.upv.es, jsapina@dsic.upv.es)
J. SAPIÑA
Affiliation:
Universitat Politècnica de València, Departamento de Sistemas Informáticos y Computación, Camino de Vera, s/n, 46022 Valencia (Spain) (e-mails: alpuente@dsic.upv.es, ffrechina@dsic.upv.es, jsapina@dsic.upv.es)
D. BALLIS
Affiliation:
Università degli Studi di Udine, Dipartimento di Matematica e Informatica, Via delle Scienze, 206, 33100 Udine (Italy) (e-mail: demis.ballis@dimi.uniud.it)

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.

Type
Regular Papers
Copyright
Copyright © Cambridge University Press 2016 

Access options

Get access to the full version of this content by using one of the access options below.

Footnotes

*

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.

References

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.Google Scholar
Alpuente, M., Ballis, D., Frechina, F. and Sapiña, J. 2015. Exploring conditional rewriting logic computations. Journal of Symbolic Computation 69, 339.CrossRefGoogle Scholar
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.Google Scholar
Alpuente, M., Escobar, S., Espert, J. and Meseguer, J. 2014. A modular order-sorted equational generalization algorithm. Information and Computation 235, 98136.CrossRefGoogle Scholar
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.CrossRefGoogle Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.CrossRefGoogle Scholar
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.Google Scholar
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.Google Scholar
Meseguer, J. 1992. Conditional rewriting logic as a unified model of concurrency. Theoretical Computer Science 96, 1, 73155.CrossRefGoogle Scholar
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.CrossRefGoogle Scholar

Altmetric attention score

Full text views

Full text views reflects PDF downloads, PDFs sent to Google Drive, Dropbox and Kindle and HTML full text views.

Total number of HTML views: 8
Total number of PDF views: 87 *
View data table for this chart

* Views captured on Cambridge Core between 14th October 2016 - 15th January 2021. This data will be updated every 24 hours.

Hostname: page-component-77fc7d77f9-fgqm6 Total loading time: 0.416 Render date: 2021-01-15T16:50:10.857Z Query parameters: { "hasAccess": "0", "openAccess": "0", "isLogged": "0", "lang": "en" } Feature Flags last update: Fri Jan 15 2021 15:52:40 GMT+0000 (Coordinated Universal Time) Feature Flags: { "metrics": true, "metricsAbstractViews": false, "peerReview": true, "crossMark": true, "comments": true, "relatedCommentaries": true, "subject": true, "clr": true, "languageSwitch": true, "figures": false, "newCiteModal": false, "shouldUseShareProductTool": true, "shouldUseHypothesis": true, "isUnsiloEnabled": true }

Send article to Kindle

To send this article to your Kindle, first ensure no-reply@cambridge.org is added to your Approved Personal Document E-mail List under your Personal Document Settings on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part of your Kindle email address below. Find out more about sending to your Kindle. Find out more about sending to your Kindle.

Note you can select to send to either the @free.kindle.com or @kindle.com variations. ‘@free.kindle.com’ emails are free but can only be sent to your device when it is connected to wi-fi. ‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.

Find out more about the Kindle Personal Document Service.

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

Send article to Dropbox

To send this article to your Dropbox account, please select one or more formats and confirm that you agree to abide by our usage policies. If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your <service> account. Find out more about sending content to Dropbox.

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

Send article to Google Drive

To send this article to your Google Drive account, please select one or more formats and confirm that you agree to abide by our usage policies. If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your <service> account. Find out more about sending content to Google Drive.

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

Reply to: Submit a response


Your details


Conflicting interests

Do you have any conflicting interests? *