Skalpel: A constraint-based type error slicer for Standard ML. (May 2017)
- Record Type:
- Journal Article
- Title:
- Skalpel: A constraint-based type error slicer for Standard ML. (May 2017)
- Main Title:
- Skalpel: A constraint-based type error slicer for Standard ML
- Authors:
- Rahli, Vincent
Wells, Joe
Pirie, John
Kamareddine, Fairouz - Abstract:
- Abstract: Compilers for languages with type inference algorithms often produce confusing type error messages and give a single error location which is sometimes far away from the real location of the error. Attempts at solving this problem often (1) fail to include the multiple program points which make up the type error; (2) report tree fragments which do not correspond to any place in the user program; and (3) give incorrect type information/diagnosis which can be highly confusing. We present Skalpel, a type error slicing tool which solves these problems by giving the programmerall and only the information involved with a type error to significantly aid in diagnosis and repair of type errors. Skalpel relies on a simple and general constraint system, a sophisticated constraint generator which is linear in program size, and a constraint solver which is terminating. Skalpel's constraint system can elegantly and efficiently handle intricate features such as SML's open . We also show that the Skalpel tool is general enough to deal not only with one source code file and one single error, but highlights all and only the possible locations of the error(s) in all affected files and produces all the culprit multiple program slices.
- Is Part Of:
- Journal of symbolic computation. Volume 80:Part 1(2017)
- Journal:
- Journal of symbolic computation
- Issue:
- Volume 80:Part 1(2017)
- Issue Display:
- Volume 80, Issue 1, Part 1 (2017)
- Year:
- 2017
- Volume:
- 80
- Issue:
- 1
- Part:
- 1
- Issue Sort Value:
- 2017-0080-0001-0001
- Page Start:
- 164
- Page End:
- 208
- Publication Date:
- 2017-05
- Subjects:
- Constraint-based type inference -- Automated type inference -- Automated error diagnosis -- Type error slicing -- Improved error reports
Mathematics -- Data processing -- Periodicals
Numerical analysis -- Data processing -- Periodicals
Automatic programming (Computer science) -- Periodicals
Mathématiques -- Informatique -- Périodiques
Analyse numérique -- Informatique -- Périodiques
Programmation automatique -- Périodiques
Automatic programming (Computer science)
Mathematics -- Data processing
Numerical analysis -- Data processing
Periodicals
Electronic journals
510.285 - Journal URLs:
- http://www.sciencedirect.com/science/journal/07477171 ↗
http://www.elsevier.com/journals ↗ - DOI:
- 10.1016/j.jsc.2016.07.013 ↗
- Languages:
- English
- ISSNs:
- 0747-7171
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library DSC - 5067.900000
British Library DSC - BLDSS-3PM
British Library HMNTS - ELD Digital store - Ingest File:
- 7434.xml